<?php
// This file is part of Preg question type - https://code.google.com/p/oasychev-moodle-plugins/
//
// Preg question type is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.

/**
 * Defines the class for unicode support.
 *
 * @package    qtype_preg
 * @copyright  2012 Oleg Sychev, Volgograd State Technical University
 * @author     Valeriy Streltsov <vostreltsov@gmail.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

defined('MOODLE_INTERNAL') || die();

global $CFG;
require_once($CFG->dirroot . '/question/type/poasquestion/poasquestion_string.php');

class qtype_preg_unicode extends textlib {

    public static function min_possible_code() {
        return 0;
    }

    public static function max_possible_code() {
        return 0x10FFFD;
    }

    public static function dot_ranges() {
        return array(array(0=>0x0000, 1=>0xD7FF),
                     array(0=>0xE000, 1=>0xFDCF),
                     array(0=>0xFDF0, 1=>0xFFFD),
                     array(0=>0x10000, 1=>0x1FFFD),
                     array(0=>0x20000, 1=>0x2FFFD),
                     array(0=>0x30000, 1=>0x3FFFD),
                     array(0=>0x40000, 1=>0x4FFFD),
                     array(0=>0x50000, 1=>0x5FFFD),
                     array(0=>0x60000, 1=>0x6FFFD),
                     array(0=>0x70000, 1=>0x7FFFD),
                     array(0=>0x80000, 1=>0x8FFFD),
                     array(0=>0x90000, 1=>0x9FFFD),
                     array(0=>0xA0000, 1=>0xAFFFD),
                     array(0=>0xB0000, 1=>0xBFFFD),
                     array(0=>0xC0000, 1=>0xCFFFD),
                     array(0=>0xD0000, 1=>0xDFFFD),
                     array(0=>0xE0000, 1=>0xEFFFD),
                     array(0=>0xF0000, 1=>0xFFFFD),
                     array(0=>0x100000, 1=>0x10FFFD));
    }

    public static function slashd_ranges() {
        return array(array(0=>0x0030, 1=>0x0039));
    }

    public static function slashh_ranges() {
        return array(array(0=>0x0009, 1=>0x0009),
                     array(0=>0x0020, 1=>0x0020),
                     array(0=>0x00A0, 1=>0x00A0),
                     array(0=>0x1680, 1=>0x1680),
                     array(0=>0x180E, 1=>0x180E),
                     array(0=>0x2000, 1=>0x200A),
                     array(0=>0x202F, 1=>0x202F),
                     array(0=>0x205F, 1=>0x205F),
                     array(0=>0x3000, 1=>0x3000));
    }

    public static function slashs_ranges() {
        return array(array(0=>0x0009, 1=>0x000A),
                     array(0=>0x000C, 1=>0x000D),
                     array(0=>0x0020, 1=>0x0020));
    }

    public static function slashv_ranges() {
        return array(array(0=>0x000A, 1=>0x000D),
                     array(0=>0x0085, 1=>0x0085),
                     array(0=>0x2028, 1=>0x2029));
    }

    public static function slashw_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x0041, 1=>0x005A),
                     array(0=>0x005F, 1=>0x005F),
                     array(0=>0x0061, 1=>0x007A));
    }

    public static function alnum_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x0041, 1=>0x005A),
                     array(0=>0x0061, 1=>0x007A));
    }

    public static function alpha_ranges() {
        return array(array(0=>0x0041, 1=>0x005A),
                     array(0=>0x0061, 1=>0x007A));
    }

    public static function ascii_ranges() {
        return array(array(0=>0x0000, 1=>0x007F));
    }

    public static function blank_ranges() {
        return array(array(0=>0x0009, 1=>0x0009),
                     array(0=>0x0020, 1=>0x0020));
    }

    public static function cntrl_ranges() {
        return array(array(0=>0x0000, 1=>0x001F),
                     array(0=>0x007F, 1=>0x007F));
    }

    public static function digit_ranges() {
        return array(array(0=>0x0030, 1=>0x0039));
    }

    public static function graph_ranges() {
        return array(array(0=>0x0021, 1=>0x007E));
    }

    public static function lower_ranges() {
        return array(array(0=>0x0061, 1=>0x007A));
    }

    public static function print_ranges() {
        return array(array(0=>0x0020, 1=>0x007E));
    }

    public static function punct_ranges() {
        return array(array(0=>0x0021, 1=>0x002F),
                     array(0=>0x003A, 1=>0x0040),
                     array(0=>0x005B, 1=>0x0060),
                     array(0=>0x007B, 1=>0x007E));
    }

    public static function space_ranges() {
        return array(array(0=>0x0009, 1=>0x000D),
                     array(0=>0x0020, 1=>0x0020));
    }

    public static function upper_ranges() {
        return array(array(0=>0x0041, 1=>0x005A));
    }

    public static function word_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x0041, 1=>0x005A),
                     array(0=>0x005F, 1=>0x005F),
                     array(0=>0x0061, 1=>0x007A));
    }

    public static function xdigit_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x0041, 1=>0x0046),
                     array(0=>0x0061, 1=>0x0066));
    }

    public static function C_ranges() {
        return array(array(0=>0x0000, 1=>0x001F),
                     array(0=>0x007F, 1=>0x009F),
                     array(0=>0x00AD, 1=>0x00AD),
                     array(0=>0x0378, 1=>0x0379),
                     array(0=>0x037F, 1=>0x0383),
                     array(0=>0x038B, 1=>0x038B),
                     array(0=>0x038D, 1=>0x038D),
                     array(0=>0x03A2, 1=>0x03A2),
                     array(0=>0x0528, 1=>0x0530),
                     array(0=>0x0557, 1=>0x0558),
                     array(0=>0x0560, 1=>0x0560),
                     array(0=>0x0588, 1=>0x0588),
                     array(0=>0x058B, 1=>0x058E),
                     array(0=>0x0590, 1=>0x0590),
                     array(0=>0x05C8, 1=>0x05CF),
                     array(0=>0x05EB, 1=>0x05EF),
                     array(0=>0x05F5, 1=>0x0605),
                     array(0=>0x061C, 1=>0x061D),
                     array(0=>0x06DD, 1=>0x06DD),
                     array(0=>0x070E, 1=>0x070F),
                     array(0=>0x074B, 1=>0x074C),
                     array(0=>0x07B2, 1=>0x07BF),
                     array(0=>0x07FB, 1=>0x07FF),
                     array(0=>0x082E, 1=>0x082F),
                     array(0=>0x083F, 1=>0x083F),
                     array(0=>0x085C, 1=>0x085D),
                     array(0=>0x085F, 1=>0x089F),
                     array(0=>0x08A1, 1=>0x08A1),
                     array(0=>0x08AD, 1=>0x08E3),
                     array(0=>0x08FF, 1=>0x08FF),
                     array(0=>0x0978, 1=>0x0978),
                     array(0=>0x0980, 1=>0x0980),
                     array(0=>0x0984, 1=>0x0984),
                     array(0=>0x098D, 1=>0x098E),
                     array(0=>0x0991, 1=>0x0992),
                     array(0=>0x09A9, 1=>0x09A9),
                     array(0=>0x09B1, 1=>0x09B1),
                     array(0=>0x09B3, 1=>0x09B5),
                     array(0=>0x09BA, 1=>0x09BB),
                     array(0=>0x09C5, 1=>0x09C6),
                     array(0=>0x09C9, 1=>0x09CA),
                     array(0=>0x09CF, 1=>0x09D6),
                     array(0=>0x09D8, 1=>0x09DB),
                     array(0=>0x09DE, 1=>0x09DE),
                     array(0=>0x09E4, 1=>0x09E5),
                     array(0=>0x09FC, 1=>0x0A00),
                     array(0=>0x0A04, 1=>0x0A04),
                     array(0=>0x0A0B, 1=>0x0A0E),
                     array(0=>0x0A11, 1=>0x0A12),
                     array(0=>0x0A29, 1=>0x0A29),
                     array(0=>0x0A31, 1=>0x0A31),
                     array(0=>0x0A34, 1=>0x0A34),
                     array(0=>0x0A37, 1=>0x0A37),
                     array(0=>0x0A3A, 1=>0x0A3B),
                     array(0=>0x0A3D, 1=>0x0A3D),
                     array(0=>0x0A43, 1=>0x0A46),
                     array(0=>0x0A49, 1=>0x0A4A),
                     array(0=>0x0A4E, 1=>0x0A50),
                     array(0=>0x0A52, 1=>0x0A58),
                     array(0=>0x0A5D, 1=>0x0A5D),
                     array(0=>0x0A5F, 1=>0x0A65),
                     array(0=>0x0A76, 1=>0x0A80),
                     array(0=>0x0A84, 1=>0x0A84),
                     array(0=>0x0A8E, 1=>0x0A8E),
                     array(0=>0x0A92, 1=>0x0A92),
                     array(0=>0x0AA9, 1=>0x0AA9),
                     array(0=>0x0AB1, 1=>0x0AB1),
                     array(0=>0x0AB4, 1=>0x0AB4),
                     array(0=>0x0ABA, 1=>0x0ABB),
                     array(0=>0x0AC6, 1=>0x0AC6),
                     array(0=>0x0ACA, 1=>0x0ACA),
                     array(0=>0x0ACE, 1=>0x0ACF),
                     array(0=>0x0AD1, 1=>0x0ADF),
                     array(0=>0x0AE4, 1=>0x0AE5),
                     array(0=>0x0AF2, 1=>0x0B00),
                     array(0=>0x0B04, 1=>0x0B04),
                     array(0=>0x0B0D, 1=>0x0B0E),
                     array(0=>0x0B11, 1=>0x0B12),
                     array(0=>0x0B29, 1=>0x0B29),
                     array(0=>0x0B31, 1=>0x0B31),
                     array(0=>0x0B34, 1=>0x0B34),
                     array(0=>0x0B3A, 1=>0x0B3B),
                     array(0=>0x0B45, 1=>0x0B46),
                     array(0=>0x0B49, 1=>0x0B4A),
                     array(0=>0x0B4E, 1=>0x0B55),
                     array(0=>0x0B58, 1=>0x0B5B),
                     array(0=>0x0B5E, 1=>0x0B5E),
                     array(0=>0x0B64, 1=>0x0B65),
                     array(0=>0x0B78, 1=>0x0B81),
                     array(0=>0x0B84, 1=>0x0B84),
                     array(0=>0x0B8B, 1=>0x0B8D),
                     array(0=>0x0B91, 1=>0x0B91),
                     array(0=>0x0B96, 1=>0x0B98),
                     array(0=>0x0B9B, 1=>0x0B9B),
                     array(0=>0x0B9D, 1=>0x0B9D),
                     array(0=>0x0BA0, 1=>0x0BA2),
                     array(0=>0x0BA5, 1=>0x0BA7),
                     array(0=>0x0BAB, 1=>0x0BAD),
                     array(0=>0x0BBA, 1=>0x0BBD),
                     array(0=>0x0BC3, 1=>0x0BC5),
                     array(0=>0x0BC9, 1=>0x0BC9),
                     array(0=>0x0BCE, 1=>0x0BCF),
                     array(0=>0x0BD1, 1=>0x0BD6),
                     array(0=>0x0BD8, 1=>0x0BE5),
                     array(0=>0x0BFB, 1=>0x0C00),
                     array(0=>0x0C04, 1=>0x0C04),
                     array(0=>0x0C0D, 1=>0x0C0D),
                     array(0=>0x0C11, 1=>0x0C11),
                     array(0=>0x0C29, 1=>0x0C29),
                     array(0=>0x0C34, 1=>0x0C34),
                     array(0=>0x0C3A, 1=>0x0C3C),
                     array(0=>0x0C45, 1=>0x0C45),
                     array(0=>0x0C49, 1=>0x0C49),
                     array(0=>0x0C4E, 1=>0x0C54),
                     array(0=>0x0C57, 1=>0x0C57),
                     array(0=>0x0C5A, 1=>0x0C5F),
                     array(0=>0x0C64, 1=>0x0C65),
                     array(0=>0x0C70, 1=>0x0C77),
                     array(0=>0x0C80, 1=>0x0C81),
                     array(0=>0x0C84, 1=>0x0C84),
                     array(0=>0x0C8D, 1=>0x0C8D),
                     array(0=>0x0C91, 1=>0x0C91),
                     array(0=>0x0CA9, 1=>0x0CA9),
                     array(0=>0x0CB4, 1=>0x0CB4),
                     array(0=>0x0CBA, 1=>0x0CBB),
                     array(0=>0x0CC5, 1=>0x0CC5),
                     array(0=>0x0CC9, 1=>0x0CC9),
                     array(0=>0x0CCE, 1=>0x0CD4),
                     array(0=>0x0CD7, 1=>0x0CDD),
                     array(0=>0x0CDF, 1=>0x0CDF),
                     array(0=>0x0CE4, 1=>0x0CE5),
                     array(0=>0x0CF0, 1=>0x0CF0),
                     array(0=>0x0CF3, 1=>0x0D01),
                     array(0=>0x0D04, 1=>0x0D04),
                     array(0=>0x0D0D, 1=>0x0D0D),
                     array(0=>0x0D11, 1=>0x0D11),
                     array(0=>0x0D3B, 1=>0x0D3C),
                     array(0=>0x0D45, 1=>0x0D45),
                     array(0=>0x0D49, 1=>0x0D49),
                     array(0=>0x0D4F, 1=>0x0D56),
                     array(0=>0x0D58, 1=>0x0D5F),
                     array(0=>0x0D64, 1=>0x0D65),
                     array(0=>0x0D76, 1=>0x0D78),
                     array(0=>0x0D80, 1=>0x0D81),
                     array(0=>0x0D84, 1=>0x0D84),
                     array(0=>0x0D97, 1=>0x0D99),
                     array(0=>0x0DB2, 1=>0x0DB2),
                     array(0=>0x0DBC, 1=>0x0DBC),
                     array(0=>0x0DBE, 1=>0x0DBF),
                     array(0=>0x0DC7, 1=>0x0DC9),
                     array(0=>0x0DCB, 1=>0x0DCE),
                     array(0=>0x0DD5, 1=>0x0DD5),
                     array(0=>0x0DD7, 1=>0x0DD7),
                     array(0=>0x0DE0, 1=>0x0DF1),
                     array(0=>0x0DF5, 1=>0x0E00),
                     array(0=>0x0E3B, 1=>0x0E3E),
                     array(0=>0x0E5C, 1=>0x0E80),
                     array(0=>0x0E83, 1=>0x0E83),
                     array(0=>0x0E85, 1=>0x0E86),
                     array(0=>0x0E89, 1=>0x0E89),
                     array(0=>0x0E8B, 1=>0x0E8C),
                     array(0=>0x0E8E, 1=>0x0E93),
                     array(0=>0x0E98, 1=>0x0E98),
                     array(0=>0x0EA0, 1=>0x0EA0),
                     array(0=>0x0EA4, 1=>0x0EA4),
                     array(0=>0x0EA6, 1=>0x0EA6),
                     array(0=>0x0EA8, 1=>0x0EA9),
                     array(0=>0x0EAC, 1=>0x0EAC),
                     array(0=>0x0EBA, 1=>0x0EBA),
                     array(0=>0x0EBE, 1=>0x0EBF),
                     array(0=>0x0EC5, 1=>0x0EC5),
                     array(0=>0x0EC7, 1=>0x0EC7),
                     array(0=>0x0ECE, 1=>0x0ECF),
                     array(0=>0x0EDA, 1=>0x0EDB),
                     array(0=>0x0EE0, 1=>0x0EFF),
                     array(0=>0x0F48, 1=>0x0F48),
                     array(0=>0x0F6D, 1=>0x0F70),
                     array(0=>0x0F98, 1=>0x0F98),
                     array(0=>0x0FBD, 1=>0x0FBD),
                     array(0=>0x0FCD, 1=>0x0FCD),
                     array(0=>0x0FDB, 1=>0x0FFF),
                     array(0=>0x10C6, 1=>0x10C6),
                     array(0=>0x10C8, 1=>0x10CC),
                     array(0=>0x10CE, 1=>0x10CF),
                     array(0=>0x1249, 1=>0x1249),
                     array(0=>0x124E, 1=>0x124F),
                     array(0=>0x1257, 1=>0x1257),
                     array(0=>0x1259, 1=>0x1259),
                     array(0=>0x125E, 1=>0x125F),
                     array(0=>0x1289, 1=>0x1289),
                     array(0=>0x128E, 1=>0x128F),
                     array(0=>0x12B1, 1=>0x12B1),
                     array(0=>0x12B6, 1=>0x12B7),
                     array(0=>0x12BF, 1=>0x12BF),
                     array(0=>0x12C1, 1=>0x12C1),
                     array(0=>0x12C6, 1=>0x12C7),
                     array(0=>0x12D7, 1=>0x12D7),
                     array(0=>0x1311, 1=>0x1311),
                     array(0=>0x1316, 1=>0x1317),
                     array(0=>0x135B, 1=>0x135C),
                     array(0=>0x137D, 1=>0x137F),
                     array(0=>0x139A, 1=>0x139F),
                     array(0=>0x13F5, 1=>0x13FF),
                     array(0=>0x169D, 1=>0x169F),
                     array(0=>0x16F1, 1=>0x16FF),
                     array(0=>0x170D, 1=>0x170D),
                     array(0=>0x1715, 1=>0x171F),
                     array(0=>0x1737, 1=>0x173F),
                     array(0=>0x1754, 1=>0x175F),
                     array(0=>0x176D, 1=>0x176D),
                     array(0=>0x1771, 1=>0x1771),
                     array(0=>0x1774, 1=>0x177F),
                     array(0=>0x17DE, 1=>0x17DF),
                     array(0=>0x17EA, 1=>0x17EF),
                     array(0=>0x17FA, 1=>0x17FF),
                     array(0=>0x180F, 1=>0x180F),
                     array(0=>0x181A, 1=>0x181F),
                     array(0=>0x1878, 1=>0x187F),
                     array(0=>0x18AB, 1=>0x18AF),
                     array(0=>0x18F6, 1=>0x18FF),
                     array(0=>0x191D, 1=>0x191F),
                     array(0=>0x192C, 1=>0x192F),
                     array(0=>0x193C, 1=>0x193F),
                     array(0=>0x1941, 1=>0x1943),
                     array(0=>0x196E, 1=>0x196F),
                     array(0=>0x1975, 1=>0x197F),
                     array(0=>0x19AC, 1=>0x19AF),
                     array(0=>0x19CA, 1=>0x19CF),
                     array(0=>0x19DB, 1=>0x19DD),
                     array(0=>0x1A1C, 1=>0x1A1D),
                     array(0=>0x1A5F, 1=>0x1A5F),
                     array(0=>0x1A7D, 1=>0x1A7E),
                     array(0=>0x1A8A, 1=>0x1A8F),
                     array(0=>0x1A9A, 1=>0x1A9F),
                     array(0=>0x1AAE, 1=>0x1AFF),
                     array(0=>0x1B4C, 1=>0x1B4F),
                     array(0=>0x1B7D, 1=>0x1B7F),
                     array(0=>0x1BF4, 1=>0x1BFB),
                     array(0=>0x1C38, 1=>0x1C3A),
                     array(0=>0x1C4A, 1=>0x1C4C),
                     array(0=>0x1C80, 1=>0x1CBF),
                     array(0=>0x1CC8, 1=>0x1CCF),
                     array(0=>0x1CF7, 1=>0x1CFF),
                     array(0=>0x1DE7, 1=>0x1DFB),
                     array(0=>0x1F16, 1=>0x1F17),
                     array(0=>0x1F1E, 1=>0x1F1F),
                     array(0=>0x1F46, 1=>0x1F47),
                     array(0=>0x1F4E, 1=>0x1F4F),
                     array(0=>0x1F58, 1=>0x1F58),
                     array(0=>0x1F5A, 1=>0x1F5A),
                     array(0=>0x1F5C, 1=>0x1F5C),
                     array(0=>0x1F5E, 1=>0x1F5E),
                     array(0=>0x1F7E, 1=>0x1F7F),
                     array(0=>0x1FB5, 1=>0x1FB5),
                     array(0=>0x1FC5, 1=>0x1FC5),
                     array(0=>0x1FD4, 1=>0x1FD5),
                     array(0=>0x1FDC, 1=>0x1FDC),
                     array(0=>0x1FF0, 1=>0x1FF1),
                     array(0=>0x1FF5, 1=>0x1FF5),
                     array(0=>0x1FFF, 1=>0x1FFF),
                     array(0=>0x200B, 1=>0x200F),
                     array(0=>0x202A, 1=>0x202E),
                     array(0=>0x2060, 1=>0x206F),
                     array(0=>0x2072, 1=>0x2073),
                     array(0=>0x208F, 1=>0x208F),
                     array(0=>0x209D, 1=>0x209F),
                     array(0=>0x20BB, 1=>0x20CF),
                     array(0=>0x20F1, 1=>0x20FF),
                     array(0=>0x218A, 1=>0x218F),
                     array(0=>0x23F4, 1=>0x23FF),
                     array(0=>0x2427, 1=>0x243F),
                     array(0=>0x244B, 1=>0x245F),
                     array(0=>0x2700, 1=>0x2700),
                     array(0=>0x2B4D, 1=>0x2B4F),
                     array(0=>0x2B5A, 1=>0x2BFF),
                     array(0=>0x2C2F, 1=>0x2C2F),
                     array(0=>0x2C5F, 1=>0x2C5F),
                     array(0=>0x2CF4, 1=>0x2CF8),
                     array(0=>0x2D26, 1=>0x2D26),
                     array(0=>0x2D28, 1=>0x2D2C),
                     array(0=>0x2D2E, 1=>0x2D2F),
                     array(0=>0x2D68, 1=>0x2D6E),
                     array(0=>0x2D71, 1=>0x2D7E),
                     array(0=>0x2D97, 1=>0x2D9F),
                     array(0=>0x2DA7, 1=>0x2DA7),
                     array(0=>0x2DAF, 1=>0x2DAF),
                     array(0=>0x2DB7, 1=>0x2DB7),
                     array(0=>0x2DBF, 1=>0x2DBF),
                     array(0=>0x2DC7, 1=>0x2DC7),
                     array(0=>0x2DCF, 1=>0x2DCF),
                     array(0=>0x2DD7, 1=>0x2DD7),
                     array(0=>0x2DDF, 1=>0x2DDF),
                     array(0=>0x2E3C, 1=>0x2E7F),
                     array(0=>0x2E9A, 1=>0x2E9A),
                     array(0=>0x2EF4, 1=>0x2EFF),
                     array(0=>0x2FD6, 1=>0x2FEF),
                     array(0=>0x2FFC, 1=>0x2FFF),
                     array(0=>0x3040, 1=>0x3040),
                     array(0=>0x3097, 1=>0x3098),
                     array(0=>0x3100, 1=>0x3104),
                     array(0=>0x312E, 1=>0x3130),
                     array(0=>0x318F, 1=>0x318F),
                     array(0=>0x31BB, 1=>0x31BF),
                     array(0=>0x31E4, 1=>0x31EF),
                     array(0=>0x321F, 1=>0x321F),
                     array(0=>0x32FF, 1=>0x32FF),
                     array(0=>0x4DB6, 1=>0x4DBF),
                     array(0=>0x9FCD, 1=>0x9FFF),
                     array(0=>0xA48D, 1=>0xA48F),
                     array(0=>0xA4C7, 1=>0xA4CF),
                     array(0=>0xA62C, 1=>0xA63F),
                     array(0=>0xA698, 1=>0xA69E),
                     array(0=>0xA6F8, 1=>0xA6FF),
                     array(0=>0xA78F, 1=>0xA78F),
                     array(0=>0xA794, 1=>0xA79F),
                     array(0=>0xA7AB, 1=>0xA7F7),
                     array(0=>0xA82C, 1=>0xA82F),
                     array(0=>0xA83A, 1=>0xA83F),
                     array(0=>0xA878, 1=>0xA87F),
                     array(0=>0xA8C5, 1=>0xA8CD),
                     array(0=>0xA8DA, 1=>0xA8DF),
                     array(0=>0xA8FC, 1=>0xA8FF),
                     array(0=>0xA954, 1=>0xA95E),
                     array(0=>0xA97D, 1=>0xA97F),
                     array(0=>0xA9CE, 1=>0xA9CE),
                     array(0=>0xA9DA, 1=>0xA9DD),
                     array(0=>0xA9E0, 1=>0xA9FF),
                     array(0=>0xAA37, 1=>0xAA3F),
                     array(0=>0xAA4E, 1=>0xAA4F),
                     array(0=>0xAA5A, 1=>0xAA5B),
                     array(0=>0xAA7C, 1=>0xAA7F),
                     array(0=>0xAAC3, 1=>0xAADA),
                     array(0=>0xAAF7, 1=>0xAB00),
                     array(0=>0xAB07, 1=>0xAB08),
                     array(0=>0xAB0F, 1=>0xAB10),
                     array(0=>0xAB17, 1=>0xAB1F),
                     array(0=>0xAB27, 1=>0xAB27),
                     array(0=>0xAB2F, 1=>0xABBF),
                     array(0=>0xABEE, 1=>0xABEF),
                     array(0=>0xABFA, 1=>0xABFF),
                     array(0=>0xD7A4, 1=>0xD7AF),
                     array(0=>0xD7C7, 1=>0xD7CA),
                     array(0=>0xD7FC, 1=>0xD7FF),
                     array(0=>0xE000, 1=>0xF8FF),
                     array(0=>0xFA6E, 1=>0xFA6F),
                     array(0=>0xFADA, 1=>0xFAFF),
                     array(0=>0xFB07, 1=>0xFB12),
                     array(0=>0xFB18, 1=>0xFB1C),
                     array(0=>0xFB37, 1=>0xFB37),
                     array(0=>0xFB3D, 1=>0xFB3D),
                     array(0=>0xFB3F, 1=>0xFB3F),
                     array(0=>0xFB42, 1=>0xFB42),
                     array(0=>0xFB45, 1=>0xFB45),
                     array(0=>0xFBC2, 1=>0xFBD2),
                     array(0=>0xFD40, 1=>0xFD4F),
                     array(0=>0xFD90, 1=>0xFD91),
                     array(0=>0xFDC8, 1=>0xFDCF),
                     array(0=>0xFDFE, 1=>0xFDFF),
                     array(0=>0xFE1A, 1=>0xFE1F),
                     array(0=>0xFE27, 1=>0xFE2F),
                     array(0=>0xFE53, 1=>0xFE53),
                     array(0=>0xFE67, 1=>0xFE67),
                     array(0=>0xFE6C, 1=>0xFE6F),
                     array(0=>0xFE75, 1=>0xFE75),
                     array(0=>0xFEFD, 1=>0xFF00),
                     array(0=>0xFFBF, 1=>0xFFC1),
                     array(0=>0xFFC8, 1=>0xFFC9),
                     array(0=>0xFFD0, 1=>0xFFD1),
                     array(0=>0xFFD8, 1=>0xFFD9),
                     array(0=>0xFFDD, 1=>0xFFDF),
                     array(0=>0xFFE7, 1=>0xFFE7),
                     array(0=>0xFFEF, 1=>0xFFFB),
                     array(0=>0x1000C, 1=>0x1000C),
                     array(0=>0x10027, 1=>0x10027),
                     array(0=>0x1003B, 1=>0x1003B),
                     array(0=>0x1003E, 1=>0x1003E),
                     array(0=>0x1004E, 1=>0x1004F),
                     array(0=>0x1005E, 1=>0x1007F),
                     array(0=>0x100FB, 1=>0x100FF),
                     array(0=>0x10103, 1=>0x10106),
                     array(0=>0x10134, 1=>0x10136),
                     array(0=>0x1018B, 1=>0x1018F),
                     array(0=>0x1019C, 1=>0x101CF),
                     array(0=>0x101FE, 1=>0x1027F),
                     array(0=>0x1029D, 1=>0x1029F),
                     array(0=>0x102D1, 1=>0x102FF),
                     array(0=>0x1031F, 1=>0x1031F),
                     array(0=>0x10324, 1=>0x1032F),
                     array(0=>0x1034B, 1=>0x1037F),
                     array(0=>0x1039E, 1=>0x1039E),
                     array(0=>0x103C4, 1=>0x103C7),
                     array(0=>0x103D6, 1=>0x103FF),
                     array(0=>0x1049E, 1=>0x1049F),
                     array(0=>0x104AA, 1=>0x107FF),
                     array(0=>0x10806, 1=>0x10807),
                     array(0=>0x10809, 1=>0x10809),
                     array(0=>0x10836, 1=>0x10836),
                     array(0=>0x10839, 1=>0x1083B),
                     array(0=>0x1083D, 1=>0x1083E),
                     array(0=>0x10856, 1=>0x10856),
                     array(0=>0x10860, 1=>0x108FF),
                     array(0=>0x1091C, 1=>0x1091E),
                     array(0=>0x1093A, 1=>0x1093E),
                     array(0=>0x10940, 1=>0x1097F),
                     array(0=>0x109B8, 1=>0x109BD),
                     array(0=>0x109C0, 1=>0x109FF),
                     array(0=>0x10A04, 1=>0x10A04),
                     array(0=>0x10A07, 1=>0x10A0B),
                     array(0=>0x10A14, 1=>0x10A14),
                     array(0=>0x10A18, 1=>0x10A18),
                     array(0=>0x10A34, 1=>0x10A37),
                     array(0=>0x10A3B, 1=>0x10A3E),
                     array(0=>0x10A48, 1=>0x10A4F),
                     array(0=>0x10A59, 1=>0x10A5F),
                     array(0=>0x10A80, 1=>0x10AFF),
                     array(0=>0x10B36, 1=>0x10B38),
                     array(0=>0x10B56, 1=>0x10B57),
                     array(0=>0x10B73, 1=>0x10B77),
                     array(0=>0x10B80, 1=>0x10BFF),
                     array(0=>0x10C49, 1=>0x10E5F),
                     array(0=>0x10E7F, 1=>0x10FFF),
                     array(0=>0x1104E, 1=>0x11051),
                     array(0=>0x11070, 1=>0x1107F),
                     array(0=>0x110BD, 1=>0x110BD),
                     array(0=>0x110C2, 1=>0x110CF),
                     array(0=>0x110E9, 1=>0x110EF),
                     array(0=>0x110FA, 1=>0x110FF),
                     array(0=>0x11135, 1=>0x11135),
                     array(0=>0x11144, 1=>0x1117F),
                     array(0=>0x111C9, 1=>0x111CF),
                     array(0=>0x111DA, 1=>0x1167F),
                     array(0=>0x116B8, 1=>0x116BF),
                     array(0=>0x116CA, 1=>0x11FFF),
                     array(0=>0x1236F, 1=>0x123FF),
                     array(0=>0x12463, 1=>0x1246F),
                     array(0=>0x12474, 1=>0x12FFF),
                     array(0=>0x1342F, 1=>0x167FF),
                     array(0=>0x16A39, 1=>0x16EFF),
                     array(0=>0x16F45, 1=>0x16F4F),
                     array(0=>0x16F7F, 1=>0x16F8E),
                     array(0=>0x16FA0, 1=>0x1AFFF),
                     array(0=>0x1B002, 1=>0x1CFFF),
                     array(0=>0x1D0F6, 1=>0x1D0FF),
                     array(0=>0x1D127, 1=>0x1D128),
                     array(0=>0x1D173, 1=>0x1D17A),
                     array(0=>0x1D1DE, 1=>0x1D1FF),
                     array(0=>0x1D246, 1=>0x1D2FF),
                     array(0=>0x1D357, 1=>0x1D35F),
                     array(0=>0x1D372, 1=>0x1D3FF),
                     array(0=>0x1D455, 1=>0x1D455),
                     array(0=>0x1D49D, 1=>0x1D49D),
                     array(0=>0x1D4A0, 1=>0x1D4A1),
                     array(0=>0x1D4A3, 1=>0x1D4A4),
                     array(0=>0x1D4A7, 1=>0x1D4A8),
                     array(0=>0x1D4AD, 1=>0x1D4AD),
                     array(0=>0x1D4BA, 1=>0x1D4BA),
                     array(0=>0x1D4BC, 1=>0x1D4BC),
                     array(0=>0x1D4C4, 1=>0x1D4C4),
                     array(0=>0x1D506, 1=>0x1D506),
                     array(0=>0x1D50B, 1=>0x1D50C),
                     array(0=>0x1D515, 1=>0x1D515),
                     array(0=>0x1D51D, 1=>0x1D51D),
                     array(0=>0x1D53A, 1=>0x1D53A),
                     array(0=>0x1D53F, 1=>0x1D53F),
                     array(0=>0x1D545, 1=>0x1D545),
                     array(0=>0x1D547, 1=>0x1D549),
                     array(0=>0x1D551, 1=>0x1D551),
                     array(0=>0x1D6A6, 1=>0x1D6A7),
                     array(0=>0x1D7CC, 1=>0x1D7CD),
                     array(0=>0x1D800, 1=>0x1EDFF),
                     array(0=>0x1EE04, 1=>0x1EE04),
                     array(0=>0x1EE20, 1=>0x1EE20),
                     array(0=>0x1EE23, 1=>0x1EE23),
                     array(0=>0x1EE25, 1=>0x1EE26),
                     array(0=>0x1EE28, 1=>0x1EE28),
                     array(0=>0x1EE33, 1=>0x1EE33),
                     array(0=>0x1EE38, 1=>0x1EE38),
                     array(0=>0x1EE3A, 1=>0x1EE3A),
                     array(0=>0x1EE3C, 1=>0x1EE41),
                     array(0=>0x1EE43, 1=>0x1EE46),
                     array(0=>0x1EE48, 1=>0x1EE48),
                     array(0=>0x1EE4A, 1=>0x1EE4A),
                     array(0=>0x1EE4C, 1=>0x1EE4C),
                     array(0=>0x1EE50, 1=>0x1EE50),
                     array(0=>0x1EE53, 1=>0x1EE53),
                     array(0=>0x1EE55, 1=>0x1EE56),
                     array(0=>0x1EE58, 1=>0x1EE58),
                     array(0=>0x1EE5A, 1=>0x1EE5A),
                     array(0=>0x1EE5C, 1=>0x1EE5C),
                     array(0=>0x1EE5E, 1=>0x1EE5E),
                     array(0=>0x1EE60, 1=>0x1EE60),
                     array(0=>0x1EE63, 1=>0x1EE63),
                     array(0=>0x1EE65, 1=>0x1EE66),
                     array(0=>0x1EE6B, 1=>0x1EE6B),
                     array(0=>0x1EE73, 1=>0x1EE73),
                     array(0=>0x1EE78, 1=>0x1EE78),
                     array(0=>0x1EE7D, 1=>0x1EE7D),
                     array(0=>0x1EE7F, 1=>0x1EE7F),
                     array(0=>0x1EE8A, 1=>0x1EE8A),
                     array(0=>0x1EE9C, 1=>0x1EEA0),
                     array(0=>0x1EEA4, 1=>0x1EEA4),
                     array(0=>0x1EEAA, 1=>0x1EEAA),
                     array(0=>0x1EEBC, 1=>0x1EEEF),
                     array(0=>0x1EEF2, 1=>0x1EFFF),
                     array(0=>0x1F02C, 1=>0x1F02F),
                     array(0=>0x1F094, 1=>0x1F09F),
                     array(0=>0x1F0AF, 1=>0x1F0B0),
                     array(0=>0x1F0BF, 1=>0x1F0C0),
                     array(0=>0x1F0D0, 1=>0x1F0D0),
                     array(0=>0x1F0E0, 1=>0x1F0FF),
                     array(0=>0x1F10B, 1=>0x1F10F),
                     array(0=>0x1F12F, 1=>0x1F12F),
                     array(0=>0x1F16C, 1=>0x1F16F),
                     array(0=>0x1F19B, 1=>0x1F1E5),
                     array(0=>0x1F203, 1=>0x1F20F),
                     array(0=>0x1F23B, 1=>0x1F23F),
                     array(0=>0x1F249, 1=>0x1F24F),
                     array(0=>0x1F252, 1=>0x1F2FF),
                     array(0=>0x1F321, 1=>0x1F32F),
                     array(0=>0x1F336, 1=>0x1F336),
                     array(0=>0x1F37D, 1=>0x1F37F),
                     array(0=>0x1F394, 1=>0x1F39F),
                     array(0=>0x1F3C5, 1=>0x1F3C5),
                     array(0=>0x1F3CB, 1=>0x1F3DF),
                     array(0=>0x1F3F1, 1=>0x1F3FF),
                     array(0=>0x1F43F, 1=>0x1F43F),
                     array(0=>0x1F441, 1=>0x1F441),
                     array(0=>0x1F4F8, 1=>0x1F4F8),
                     array(0=>0x1F4FD, 1=>0x1F4FF),
                     array(0=>0x1F53E, 1=>0x1F53F),
                     array(0=>0x1F544, 1=>0x1F54F),
                     array(0=>0x1F568, 1=>0x1F5FA),
                     array(0=>0x1F641, 1=>0x1F644),
                     array(0=>0x1F650, 1=>0x1F67F),
                     array(0=>0x1F6C6, 1=>0x1F6FF),
                     array(0=>0x1F774, 1=>0x1FFFD),
                     array(0=>0x2A6D7, 1=>0x2A6FF),
                     array(0=>0x2B735, 1=>0x2B73F),
                     array(0=>0x2B81E, 1=>0x2F7FF),
                     array(0=>0x2FA1E, 1=>0x2FFFD),
                     array(0=>0x30000, 1=>0x3FFFD),
                     array(0=>0x40000, 1=>0x4FFFD),
                     array(0=>0x50000, 1=>0x5FFFD),
                     array(0=>0x60000, 1=>0x6FFFD),
                     array(0=>0x70000, 1=>0x7FFFD),
                     array(0=>0x80000, 1=>0x8FFFD),
                     array(0=>0x90000, 1=>0x9FFFD),
                     array(0=>0xA0000, 1=>0xAFFFD),
                     array(0=>0xB0000, 1=>0xBFFFD),
                     array(0=>0xC0000, 1=>0xCFFFD),
                     array(0=>0xD0000, 1=>0xDFFFD),
                     array(0=>0xE0000, 1=>0xE00FF),
                     array(0=>0xE01F0, 1=>0xEFFFD),
                     array(0=>0xF0000, 1=>0xFFFFD),
                     array(0=>0x100000, 1=>0x10FFFD));
    }

    public static function Cc_ranges() {
        return array(array(0=>0x0000, 1=>0x001F),
                     array(0=>0x007F, 1=>0x009F));
    }

    public static function Cf_ranges() {
        return array(array(0=>0x00AD, 1=>0x00AD),
                     array(0=>0x0600, 1=>0x0604),
                     array(0=>0x06DD, 1=>0x06DD),
                     array(0=>0x070F, 1=>0x070F),
                     array(0=>0x200B, 1=>0x200F),
                     array(0=>0x202A, 1=>0x202E),
                     array(0=>0x2060, 1=>0x2064),
                     array(0=>0x206A, 1=>0x206F),
                     array(0=>0xFEFF, 1=>0xFEFF),
                     array(0=>0xFFF9, 1=>0xFFFB),
                     array(0=>0x110BD, 1=>0x110BD),
                     array(0=>0x1D173, 1=>0x1D17A),
                     array(0=>0xE0001, 1=>0xE0001),
                     array(0=>0xE0020, 1=>0xE007F));
    }

    public static function Cn_ranges() {
        return array(array(0=>0x0378, 1=>0x0379),
                     array(0=>0x037F, 1=>0x0383),
                     array(0=>0x038B, 1=>0x038B),
                     array(0=>0x038D, 1=>0x038D),
                     array(0=>0x03A2, 1=>0x03A2),
                     array(0=>0x0528, 1=>0x0530),
                     array(0=>0x0557, 1=>0x0558),
                     array(0=>0x0560, 1=>0x0560),
                     array(0=>0x0588, 1=>0x0588),
                     array(0=>0x058B, 1=>0x058E),
                     array(0=>0x0590, 1=>0x0590),
                     array(0=>0x05C8, 1=>0x05CF),
                     array(0=>0x05EB, 1=>0x05EF),
                     array(0=>0x05F5, 1=>0x05FF),
                     array(0=>0x0605, 1=>0x0605),
                     array(0=>0x061C, 1=>0x061D),
                     array(0=>0x070E, 1=>0x070E),
                     array(0=>0x074B, 1=>0x074C),
                     array(0=>0x07B2, 1=>0x07BF),
                     array(0=>0x07FB, 1=>0x07FF),
                     array(0=>0x082E, 1=>0x082F),
                     array(0=>0x083F, 1=>0x083F),
                     array(0=>0x085C, 1=>0x085D),
                     array(0=>0x085F, 1=>0x089F),
                     array(0=>0x08A1, 1=>0x08A1),
                     array(0=>0x08AD, 1=>0x08E3),
                     array(0=>0x08FF, 1=>0x08FF),
                     array(0=>0x0978, 1=>0x0978),
                     array(0=>0x0980, 1=>0x0980),
                     array(0=>0x0984, 1=>0x0984),
                     array(0=>0x098D, 1=>0x098E),
                     array(0=>0x0991, 1=>0x0992),
                     array(0=>0x09A9, 1=>0x09A9),
                     array(0=>0x09B1, 1=>0x09B1),
                     array(0=>0x09B3, 1=>0x09B5),
                     array(0=>0x09BA, 1=>0x09BB),
                     array(0=>0x09C5, 1=>0x09C6),
                     array(0=>0x09C9, 1=>0x09CA),
                     array(0=>0x09CF, 1=>0x09D6),
                     array(0=>0x09D8, 1=>0x09DB),
                     array(0=>0x09DE, 1=>0x09DE),
                     array(0=>0x09E4, 1=>0x09E5),
                     array(0=>0x09FC, 1=>0x0A00),
                     array(0=>0x0A04, 1=>0x0A04),
                     array(0=>0x0A0B, 1=>0x0A0E),
                     array(0=>0x0A11, 1=>0x0A12),
                     array(0=>0x0A29, 1=>0x0A29),
                     array(0=>0x0A31, 1=>0x0A31),
                     array(0=>0x0A34, 1=>0x0A34),
                     array(0=>0x0A37, 1=>0x0A37),
                     array(0=>0x0A3A, 1=>0x0A3B),
                     array(0=>0x0A3D, 1=>0x0A3D),
                     array(0=>0x0A43, 1=>0x0A46),
                     array(0=>0x0A49, 1=>0x0A4A),
                     array(0=>0x0A4E, 1=>0x0A50),
                     array(0=>0x0A52, 1=>0x0A58),
                     array(0=>0x0A5D, 1=>0x0A5D),
                     array(0=>0x0A5F, 1=>0x0A65),
                     array(0=>0x0A76, 1=>0x0A80),
                     array(0=>0x0A84, 1=>0x0A84),
                     array(0=>0x0A8E, 1=>0x0A8E),
                     array(0=>0x0A92, 1=>0x0A92),
                     array(0=>0x0AA9, 1=>0x0AA9),
                     array(0=>0x0AB1, 1=>0x0AB1),
                     array(0=>0x0AB4, 1=>0x0AB4),
                     array(0=>0x0ABA, 1=>0x0ABB),
                     array(0=>0x0AC6, 1=>0x0AC6),
                     array(0=>0x0ACA, 1=>0x0ACA),
                     array(0=>0x0ACE, 1=>0x0ACF),
                     array(0=>0x0AD1, 1=>0x0ADF),
                     array(0=>0x0AE4, 1=>0x0AE5),
                     array(0=>0x0AF2, 1=>0x0B00),
                     array(0=>0x0B04, 1=>0x0B04),
                     array(0=>0x0B0D, 1=>0x0B0E),
                     array(0=>0x0B11, 1=>0x0B12),
                     array(0=>0x0B29, 1=>0x0B29),
                     array(0=>0x0B31, 1=>0x0B31),
                     array(0=>0x0B34, 1=>0x0B34),
                     array(0=>0x0B3A, 1=>0x0B3B),
                     array(0=>0x0B45, 1=>0x0B46),
                     array(0=>0x0B49, 1=>0x0B4A),
                     array(0=>0x0B4E, 1=>0x0B55),
                     array(0=>0x0B58, 1=>0x0B5B),
                     array(0=>0x0B5E, 1=>0x0B5E),
                     array(0=>0x0B64, 1=>0x0B65),
                     array(0=>0x0B78, 1=>0x0B81),
                     array(0=>0x0B84, 1=>0x0B84),
                     array(0=>0x0B8B, 1=>0x0B8D),
                     array(0=>0x0B91, 1=>0x0B91),
                     array(0=>0x0B96, 1=>0x0B98),
                     array(0=>0x0B9B, 1=>0x0B9B),
                     array(0=>0x0B9D, 1=>0x0B9D),
                     array(0=>0x0BA0, 1=>0x0BA2),
                     array(0=>0x0BA5, 1=>0x0BA7),
                     array(0=>0x0BAB, 1=>0x0BAD),
                     array(0=>0x0BBA, 1=>0x0BBD),
                     array(0=>0x0BC3, 1=>0x0BC5),
                     array(0=>0x0BC9, 1=>0x0BC9),
                     array(0=>0x0BCE, 1=>0x0BCF),
                     array(0=>0x0BD1, 1=>0x0BD6),
                     array(0=>0x0BD8, 1=>0x0BE5),
                     array(0=>0x0BFB, 1=>0x0C00),
                     array(0=>0x0C04, 1=>0x0C04),
                     array(0=>0x0C0D, 1=>0x0C0D),
                     array(0=>0x0C11, 1=>0x0C11),
                     array(0=>0x0C29, 1=>0x0C29),
                     array(0=>0x0C34, 1=>0x0C34),
                     array(0=>0x0C3A, 1=>0x0C3C),
                     array(0=>0x0C45, 1=>0x0C45),
                     array(0=>0x0C49, 1=>0x0C49),
                     array(0=>0x0C4E, 1=>0x0C54),
                     array(0=>0x0C57, 1=>0x0C57),
                     array(0=>0x0C5A, 1=>0x0C5F),
                     array(0=>0x0C64, 1=>0x0C65),
                     array(0=>0x0C70, 1=>0x0C77),
                     array(0=>0x0C80, 1=>0x0C81),
                     array(0=>0x0C84, 1=>0x0C84),
                     array(0=>0x0C8D, 1=>0x0C8D),
                     array(0=>0x0C91, 1=>0x0C91),
                     array(0=>0x0CA9, 1=>0x0CA9),
                     array(0=>0x0CB4, 1=>0x0CB4),
                     array(0=>0x0CBA, 1=>0x0CBB),
                     array(0=>0x0CC5, 1=>0x0CC5),
                     array(0=>0x0CC9, 1=>0x0CC9),
                     array(0=>0x0CCE, 1=>0x0CD4),
                     array(0=>0x0CD7, 1=>0x0CDD),
                     array(0=>0x0CDF, 1=>0x0CDF),
                     array(0=>0x0CE4, 1=>0x0CE5),
                     array(0=>0x0CF0, 1=>0x0CF0),
                     array(0=>0x0CF3, 1=>0x0D01),
                     array(0=>0x0D04, 1=>0x0D04),
                     array(0=>0x0D0D, 1=>0x0D0D),
                     array(0=>0x0D11, 1=>0x0D11),
                     array(0=>0x0D3B, 1=>0x0D3C),
                     array(0=>0x0D45, 1=>0x0D45),
                     array(0=>0x0D49, 1=>0x0D49),
                     array(0=>0x0D4F, 1=>0x0D56),
                     array(0=>0x0D58, 1=>0x0D5F),
                     array(0=>0x0D64, 1=>0x0D65),
                     array(0=>0x0D76, 1=>0x0D78),
                     array(0=>0x0D80, 1=>0x0D81),
                     array(0=>0x0D84, 1=>0x0D84),
                     array(0=>0x0D97, 1=>0x0D99),
                     array(0=>0x0DB2, 1=>0x0DB2),
                     array(0=>0x0DBC, 1=>0x0DBC),
                     array(0=>0x0DBE, 1=>0x0DBF),
                     array(0=>0x0DC7, 1=>0x0DC9),
                     array(0=>0x0DCB, 1=>0x0DCE),
                     array(0=>0x0DD5, 1=>0x0DD5),
                     array(0=>0x0DD7, 1=>0x0DD7),
                     array(0=>0x0DE0, 1=>0x0DF1),
                     array(0=>0x0DF5, 1=>0x0E00),
                     array(0=>0x0E3B, 1=>0x0E3E),
                     array(0=>0x0E5C, 1=>0x0E80),
                     array(0=>0x0E83, 1=>0x0E83),
                     array(0=>0x0E85, 1=>0x0E86),
                     array(0=>0x0E89, 1=>0x0E89),
                     array(0=>0x0E8B, 1=>0x0E8C),
                     array(0=>0x0E8E, 1=>0x0E93),
                     array(0=>0x0E98, 1=>0x0E98),
                     array(0=>0x0EA0, 1=>0x0EA0),
                     array(0=>0x0EA4, 1=>0x0EA4),
                     array(0=>0x0EA6, 1=>0x0EA6),
                     array(0=>0x0EA8, 1=>0x0EA9),
                     array(0=>0x0EAC, 1=>0x0EAC),
                     array(0=>0x0EBA, 1=>0x0EBA),
                     array(0=>0x0EBE, 1=>0x0EBF),
                     array(0=>0x0EC5, 1=>0x0EC5),
                     array(0=>0x0EC7, 1=>0x0EC7),
                     array(0=>0x0ECE, 1=>0x0ECF),
                     array(0=>0x0EDA, 1=>0x0EDB),
                     array(0=>0x0EE0, 1=>0x0EFF),
                     array(0=>0x0F48, 1=>0x0F48),
                     array(0=>0x0F6D, 1=>0x0F70),
                     array(0=>0x0F98, 1=>0x0F98),
                     array(0=>0x0FBD, 1=>0x0FBD),
                     array(0=>0x0FCD, 1=>0x0FCD),
                     array(0=>0x0FDB, 1=>0x0FFF),
                     array(0=>0x10C6, 1=>0x10C6),
                     array(0=>0x10C8, 1=>0x10CC),
                     array(0=>0x10CE, 1=>0x10CF),
                     array(0=>0x1249, 1=>0x1249),
                     array(0=>0x124E, 1=>0x124F),
                     array(0=>0x1257, 1=>0x1257),
                     array(0=>0x1259, 1=>0x1259),
                     array(0=>0x125E, 1=>0x125F),
                     array(0=>0x1289, 1=>0x1289),
                     array(0=>0x128E, 1=>0x128F),
                     array(0=>0x12B1, 1=>0x12B1),
                     array(0=>0x12B6, 1=>0x12B7),
                     array(0=>0x12BF, 1=>0x12BF),
                     array(0=>0x12C1, 1=>0x12C1),
                     array(0=>0x12C6, 1=>0x12C7),
                     array(0=>0x12D7, 1=>0x12D7),
                     array(0=>0x1311, 1=>0x1311),
                     array(0=>0x1316, 1=>0x1317),
                     array(0=>0x135B, 1=>0x135C),
                     array(0=>0x137D, 1=>0x137F),
                     array(0=>0x139A, 1=>0x139F),
                     array(0=>0x13F5, 1=>0x13FF),
                     array(0=>0x169D, 1=>0x169F),
                     array(0=>0x16F1, 1=>0x16FF),
                     array(0=>0x170D, 1=>0x170D),
                     array(0=>0x1715, 1=>0x171F),
                     array(0=>0x1737, 1=>0x173F),
                     array(0=>0x1754, 1=>0x175F),
                     array(0=>0x176D, 1=>0x176D),
                     array(0=>0x1771, 1=>0x1771),
                     array(0=>0x1774, 1=>0x177F),
                     array(0=>0x17DE, 1=>0x17DF),
                     array(0=>0x17EA, 1=>0x17EF),
                     array(0=>0x17FA, 1=>0x17FF),
                     array(0=>0x180F, 1=>0x180F),
                     array(0=>0x181A, 1=>0x181F),
                     array(0=>0x1878, 1=>0x187F),
                     array(0=>0x18AB, 1=>0x18AF),
                     array(0=>0x18F6, 1=>0x18FF),
                     array(0=>0x191D, 1=>0x191F),
                     array(0=>0x192C, 1=>0x192F),
                     array(0=>0x193C, 1=>0x193F),
                     array(0=>0x1941, 1=>0x1943),
                     array(0=>0x196E, 1=>0x196F),
                     array(0=>0x1975, 1=>0x197F),
                     array(0=>0x19AC, 1=>0x19AF),
                     array(0=>0x19CA, 1=>0x19CF),
                     array(0=>0x19DB, 1=>0x19DD),
                     array(0=>0x1A1C, 1=>0x1A1D),
                     array(0=>0x1A5F, 1=>0x1A5F),
                     array(0=>0x1A7D, 1=>0x1A7E),
                     array(0=>0x1A8A, 1=>0x1A8F),
                     array(0=>0x1A9A, 1=>0x1A9F),
                     array(0=>0x1AAE, 1=>0x1AFF),
                     array(0=>0x1B4C, 1=>0x1B4F),
                     array(0=>0x1B7D, 1=>0x1B7F),
                     array(0=>0x1BF4, 1=>0x1BFB),
                     array(0=>0x1C38, 1=>0x1C3A),
                     array(0=>0x1C4A, 1=>0x1C4C),
                     array(0=>0x1C80, 1=>0x1CBF),
                     array(0=>0x1CC8, 1=>0x1CCF),
                     array(0=>0x1CF7, 1=>0x1CFF),
                     array(0=>0x1DE7, 1=>0x1DFB),
                     array(0=>0x1F16, 1=>0x1F17),
                     array(0=>0x1F1E, 1=>0x1F1F),
                     array(0=>0x1F46, 1=>0x1F47),
                     array(0=>0x1F4E, 1=>0x1F4F),
                     array(0=>0x1F58, 1=>0x1F58),
                     array(0=>0x1F5A, 1=>0x1F5A),
                     array(0=>0x1F5C, 1=>0x1F5C),
                     array(0=>0x1F5E, 1=>0x1F5E),
                     array(0=>0x1F7E, 1=>0x1F7F),
                     array(0=>0x1FB5, 1=>0x1FB5),
                     array(0=>0x1FC5, 1=>0x1FC5),
                     array(0=>0x1FD4, 1=>0x1FD5),
                     array(0=>0x1FDC, 1=>0x1FDC),
                     array(0=>0x1FF0, 1=>0x1FF1),
                     array(0=>0x1FF5, 1=>0x1FF5),
                     array(0=>0x1FFF, 1=>0x1FFF),
                     array(0=>0x2065, 1=>0x2069),
                     array(0=>0x2072, 1=>0x2073),
                     array(0=>0x208F, 1=>0x208F),
                     array(0=>0x209D, 1=>0x209F),
                     array(0=>0x20BB, 1=>0x20CF),
                     array(0=>0x20F1, 1=>0x20FF),
                     array(0=>0x218A, 1=>0x218F),
                     array(0=>0x23F4, 1=>0x23FF),
                     array(0=>0x2427, 1=>0x243F),
                     array(0=>0x244B, 1=>0x245F),
                     array(0=>0x2700, 1=>0x2700),
                     array(0=>0x2B4D, 1=>0x2B4F),
                     array(0=>0x2B5A, 1=>0x2BFF),
                     array(0=>0x2C2F, 1=>0x2C2F),
                     array(0=>0x2C5F, 1=>0x2C5F),
                     array(0=>0x2CF4, 1=>0x2CF8),
                     array(0=>0x2D26, 1=>0x2D26),
                     array(0=>0x2D28, 1=>0x2D2C),
                     array(0=>0x2D2E, 1=>0x2D2F),
                     array(0=>0x2D68, 1=>0x2D6E),
                     array(0=>0x2D71, 1=>0x2D7E),
                     array(0=>0x2D97, 1=>0x2D9F),
                     array(0=>0x2DA7, 1=>0x2DA7),
                     array(0=>0x2DAF, 1=>0x2DAF),
                     array(0=>0x2DB7, 1=>0x2DB7),
                     array(0=>0x2DBF, 1=>0x2DBF),
                     array(0=>0x2DC7, 1=>0x2DC7),
                     array(0=>0x2DCF, 1=>0x2DCF),
                     array(0=>0x2DD7, 1=>0x2DD7),
                     array(0=>0x2DDF, 1=>0x2DDF),
                     array(0=>0x2E3C, 1=>0x2E7F),
                     array(0=>0x2E9A, 1=>0x2E9A),
                     array(0=>0x2EF4, 1=>0x2EFF),
                     array(0=>0x2FD6, 1=>0x2FEF),
                     array(0=>0x2FFC, 1=>0x2FFF),
                     array(0=>0x3040, 1=>0x3040),
                     array(0=>0x3097, 1=>0x3098),
                     array(0=>0x3100, 1=>0x3104),
                     array(0=>0x312E, 1=>0x3130),
                     array(0=>0x318F, 1=>0x318F),
                     array(0=>0x31BB, 1=>0x31BF),
                     array(0=>0x31E4, 1=>0x31EF),
                     array(0=>0x321F, 1=>0x321F),
                     array(0=>0x32FF, 1=>0x32FF),
                     array(0=>0x4DB6, 1=>0x4DBF),
                     array(0=>0x9FCD, 1=>0x9FFF),
                     array(0=>0xA48D, 1=>0xA48F),
                     array(0=>0xA4C7, 1=>0xA4CF),
                     array(0=>0xA62C, 1=>0xA63F),
                     array(0=>0xA698, 1=>0xA69E),
                     array(0=>0xA6F8, 1=>0xA6FF),
                     array(0=>0xA78F, 1=>0xA78F),
                     array(0=>0xA794, 1=>0xA79F),
                     array(0=>0xA7AB, 1=>0xA7F7),
                     array(0=>0xA82C, 1=>0xA82F),
                     array(0=>0xA83A, 1=>0xA83F),
                     array(0=>0xA878, 1=>0xA87F),
                     array(0=>0xA8C5, 1=>0xA8CD),
                     array(0=>0xA8DA, 1=>0xA8DF),
                     array(0=>0xA8FC, 1=>0xA8FF),
                     array(0=>0xA954, 1=>0xA95E),
                     array(0=>0xA97D, 1=>0xA97F),
                     array(0=>0xA9CE, 1=>0xA9CE),
                     array(0=>0xA9DA, 1=>0xA9DD),
                     array(0=>0xA9E0, 1=>0xA9FF),
                     array(0=>0xAA37, 1=>0xAA3F),
                     array(0=>0xAA4E, 1=>0xAA4F),
                     array(0=>0xAA5A, 1=>0xAA5B),
                     array(0=>0xAA7C, 1=>0xAA7F),
                     array(0=>0xAAC3, 1=>0xAADA),
                     array(0=>0xAAF7, 1=>0xAB00),
                     array(0=>0xAB07, 1=>0xAB08),
                     array(0=>0xAB0F, 1=>0xAB10),
                     array(0=>0xAB17, 1=>0xAB1F),
                     array(0=>0xAB27, 1=>0xAB27),
                     array(0=>0xAB2F, 1=>0xABBF),
                     array(0=>0xABEE, 1=>0xABEF),
                     array(0=>0xABFA, 1=>0xABFF),
                     array(0=>0xD7A4, 1=>0xD7AF),
                     array(0=>0xD7C7, 1=>0xD7CA),
                     array(0=>0xD7FC, 1=>0xD7FF),
                     array(0=>0xFA6E, 1=>0xFA6F),
                     array(0=>0xFADA, 1=>0xFAFF),
                     array(0=>0xFB07, 1=>0xFB12),
                     array(0=>0xFB18, 1=>0xFB1C),
                     array(0=>0xFB37, 1=>0xFB37),
                     array(0=>0xFB3D, 1=>0xFB3D),
                     array(0=>0xFB3F, 1=>0xFB3F),
                     array(0=>0xFB42, 1=>0xFB42),
                     array(0=>0xFB45, 1=>0xFB45),
                     array(0=>0xFBC2, 1=>0xFBD2),
                     array(0=>0xFD40, 1=>0xFD4F),
                     array(0=>0xFD90, 1=>0xFD91),
                     array(0=>0xFDC8, 1=>0xFDCF),
                     array(0=>0xFDFE, 1=>0xFDFF),
                     array(0=>0xFE1A, 1=>0xFE1F),
                     array(0=>0xFE27, 1=>0xFE2F),
                     array(0=>0xFE53, 1=>0xFE53),
                     array(0=>0xFE67, 1=>0xFE67),
                     array(0=>0xFE6C, 1=>0xFE6F),
                     array(0=>0xFE75, 1=>0xFE75),
                     array(0=>0xFEFD, 1=>0xFEFE),
                     array(0=>0xFF00, 1=>0xFF00),
                     array(0=>0xFFBF, 1=>0xFFC1),
                     array(0=>0xFFC8, 1=>0xFFC9),
                     array(0=>0xFFD0, 1=>0xFFD1),
                     array(0=>0xFFD8, 1=>0xFFD9),
                     array(0=>0xFFDD, 1=>0xFFDF),
                     array(0=>0xFFE7, 1=>0xFFE7),
                     array(0=>0xFFEF, 1=>0xFFF8),
                     array(0=>0x1000C, 1=>0x1000C),
                     array(0=>0x10027, 1=>0x10027),
                     array(0=>0x1003B, 1=>0x1003B),
                     array(0=>0x1003E, 1=>0x1003E),
                     array(0=>0x1004E, 1=>0x1004F),
                     array(0=>0x1005E, 1=>0x1007F),
                     array(0=>0x100FB, 1=>0x100FF),
                     array(0=>0x10103, 1=>0x10106),
                     array(0=>0x10134, 1=>0x10136),
                     array(0=>0x1018B, 1=>0x1018F),
                     array(0=>0x1019C, 1=>0x101CF),
                     array(0=>0x101FE, 1=>0x1027F),
                     array(0=>0x1029D, 1=>0x1029F),
                     array(0=>0x102D1, 1=>0x102FF),
                     array(0=>0x1031F, 1=>0x1031F),
                     array(0=>0x10324, 1=>0x1032F),
                     array(0=>0x1034B, 1=>0x1037F),
                     array(0=>0x1039E, 1=>0x1039E),
                     array(0=>0x103C4, 1=>0x103C7),
                     array(0=>0x103D6, 1=>0x103FF),
                     array(0=>0x1049E, 1=>0x1049F),
                     array(0=>0x104AA, 1=>0x107FF),
                     array(0=>0x10806, 1=>0x10807),
                     array(0=>0x10809, 1=>0x10809),
                     array(0=>0x10836, 1=>0x10836),
                     array(0=>0x10839, 1=>0x1083B),
                     array(0=>0x1083D, 1=>0x1083E),
                     array(0=>0x10856, 1=>0x10856),
                     array(0=>0x10860, 1=>0x108FF),
                     array(0=>0x1091C, 1=>0x1091E),
                     array(0=>0x1093A, 1=>0x1093E),
                     array(0=>0x10940, 1=>0x1097F),
                     array(0=>0x109B8, 1=>0x109BD),
                     array(0=>0x109C0, 1=>0x109FF),
                     array(0=>0x10A04, 1=>0x10A04),
                     array(0=>0x10A07, 1=>0x10A0B),
                     array(0=>0x10A14, 1=>0x10A14),
                     array(0=>0x10A18, 1=>0x10A18),
                     array(0=>0x10A34, 1=>0x10A37),
                     array(0=>0x10A3B, 1=>0x10A3E),
                     array(0=>0x10A48, 1=>0x10A4F),
                     array(0=>0x10A59, 1=>0x10A5F),
                     array(0=>0x10A80, 1=>0x10AFF),
                     array(0=>0x10B36, 1=>0x10B38),
                     array(0=>0x10B56, 1=>0x10B57),
                     array(0=>0x10B73, 1=>0x10B77),
                     array(0=>0x10B80, 1=>0x10BFF),
                     array(0=>0x10C49, 1=>0x10E5F),
                     array(0=>0x10E7F, 1=>0x10FFF),
                     array(0=>0x1104E, 1=>0x11051),
                     array(0=>0x11070, 1=>0x1107F),
                     array(0=>0x110C2, 1=>0x110CF),
                     array(0=>0x110E9, 1=>0x110EF),
                     array(0=>0x110FA, 1=>0x110FF),
                     array(0=>0x11135, 1=>0x11135),
                     array(0=>0x11144, 1=>0x1117F),
                     array(0=>0x111C9, 1=>0x111CF),
                     array(0=>0x111DA, 1=>0x1167F),
                     array(0=>0x116B8, 1=>0x116BF),
                     array(0=>0x116CA, 1=>0x11FFF),
                     array(0=>0x1236F, 1=>0x123FF),
                     array(0=>0x12463, 1=>0x1246F),
                     array(0=>0x12474, 1=>0x12FFF),
                     array(0=>0x1342F, 1=>0x167FF),
                     array(0=>0x16A39, 1=>0x16EFF),
                     array(0=>0x16F45, 1=>0x16F4F),
                     array(0=>0x16F7F, 1=>0x16F8E),
                     array(0=>0x16FA0, 1=>0x1AFFF),
                     array(0=>0x1B002, 1=>0x1CFFF),
                     array(0=>0x1D0F6, 1=>0x1D0FF),
                     array(0=>0x1D127, 1=>0x1D128),
                     array(0=>0x1D1DE, 1=>0x1D1FF),
                     array(0=>0x1D246, 1=>0x1D2FF),
                     array(0=>0x1D357, 1=>0x1D35F),
                     array(0=>0x1D372, 1=>0x1D3FF),
                     array(0=>0x1D455, 1=>0x1D455),
                     array(0=>0x1D49D, 1=>0x1D49D),
                     array(0=>0x1D4A0, 1=>0x1D4A1),
                     array(0=>0x1D4A3, 1=>0x1D4A4),
                     array(0=>0x1D4A7, 1=>0x1D4A8),
                     array(0=>0x1D4AD, 1=>0x1D4AD),
                     array(0=>0x1D4BA, 1=>0x1D4BA),
                     array(0=>0x1D4BC, 1=>0x1D4BC),
                     array(0=>0x1D4C4, 1=>0x1D4C4),
                     array(0=>0x1D506, 1=>0x1D506),
                     array(0=>0x1D50B, 1=>0x1D50C),
                     array(0=>0x1D515, 1=>0x1D515),
                     array(0=>0x1D51D, 1=>0x1D51D),
                     array(0=>0x1D53A, 1=>0x1D53A),
                     array(0=>0x1D53F, 1=>0x1D53F),
                     array(0=>0x1D545, 1=>0x1D545),
                     array(0=>0x1D547, 1=>0x1D549),
                     array(0=>0x1D551, 1=>0x1D551),
                     array(0=>0x1D6A6, 1=>0x1D6A7),
                     array(0=>0x1D7CC, 1=>0x1D7CD),
                     array(0=>0x1D800, 1=>0x1EDFF),
                     array(0=>0x1EE04, 1=>0x1EE04),
                     array(0=>0x1EE20, 1=>0x1EE20),
                     array(0=>0x1EE23, 1=>0x1EE23),
                     array(0=>0x1EE25, 1=>0x1EE26),
                     array(0=>0x1EE28, 1=>0x1EE28),
                     array(0=>0x1EE33, 1=>0x1EE33),
                     array(0=>0x1EE38, 1=>0x1EE38),
                     array(0=>0x1EE3A, 1=>0x1EE3A),
                     array(0=>0x1EE3C, 1=>0x1EE41),
                     array(0=>0x1EE43, 1=>0x1EE46),
                     array(0=>0x1EE48, 1=>0x1EE48),
                     array(0=>0x1EE4A, 1=>0x1EE4A),
                     array(0=>0x1EE4C, 1=>0x1EE4C),
                     array(0=>0x1EE50, 1=>0x1EE50),
                     array(0=>0x1EE53, 1=>0x1EE53),
                     array(0=>0x1EE55, 1=>0x1EE56),
                     array(0=>0x1EE58, 1=>0x1EE58),
                     array(0=>0x1EE5A, 1=>0x1EE5A),
                     array(0=>0x1EE5C, 1=>0x1EE5C),
                     array(0=>0x1EE5E, 1=>0x1EE5E),
                     array(0=>0x1EE60, 1=>0x1EE60),
                     array(0=>0x1EE63, 1=>0x1EE63),
                     array(0=>0x1EE65, 1=>0x1EE66),
                     array(0=>0x1EE6B, 1=>0x1EE6B),
                     array(0=>0x1EE73, 1=>0x1EE73),
                     array(0=>0x1EE78, 1=>0x1EE78),
                     array(0=>0x1EE7D, 1=>0x1EE7D),
                     array(0=>0x1EE7F, 1=>0x1EE7F),
                     array(0=>0x1EE8A, 1=>0x1EE8A),
                     array(0=>0x1EE9C, 1=>0x1EEA0),
                     array(0=>0x1EEA4, 1=>0x1EEA4),
                     array(0=>0x1EEAA, 1=>0x1EEAA),
                     array(0=>0x1EEBC, 1=>0x1EEEF),
                     array(0=>0x1EEF2, 1=>0x1EFFF),
                     array(0=>0x1F02C, 1=>0x1F02F),
                     array(0=>0x1F094, 1=>0x1F09F),
                     array(0=>0x1F0AF, 1=>0x1F0B0),
                     array(0=>0x1F0BF, 1=>0x1F0C0),
                     array(0=>0x1F0D0, 1=>0x1F0D0),
                     array(0=>0x1F0E0, 1=>0x1F0FF),
                     array(0=>0x1F10B, 1=>0x1F10F),
                     array(0=>0x1F12F, 1=>0x1F12F),
                     array(0=>0x1F16C, 1=>0x1F16F),
                     array(0=>0x1F19B, 1=>0x1F1E5),
                     array(0=>0x1F203, 1=>0x1F20F),
                     array(0=>0x1F23B, 1=>0x1F23F),
                     array(0=>0x1F249, 1=>0x1F24F),
                     array(0=>0x1F252, 1=>0x1F2FF),
                     array(0=>0x1F321, 1=>0x1F32F),
                     array(0=>0x1F336, 1=>0x1F336),
                     array(0=>0x1F37D, 1=>0x1F37F),
                     array(0=>0x1F394, 1=>0x1F39F),
                     array(0=>0x1F3C5, 1=>0x1F3C5),
                     array(0=>0x1F3CB, 1=>0x1F3DF),
                     array(0=>0x1F3F1, 1=>0x1F3FF),
                     array(0=>0x1F43F, 1=>0x1F43F),
                     array(0=>0x1F441, 1=>0x1F441),
                     array(0=>0x1F4F8, 1=>0x1F4F8),
                     array(0=>0x1F4FD, 1=>0x1F4FF),
                     array(0=>0x1F53E, 1=>0x1F53F),
                     array(0=>0x1F544, 1=>0x1F54F),
                     array(0=>0x1F568, 1=>0x1F5FA),
                     array(0=>0x1F641, 1=>0x1F644),
                     array(0=>0x1F650, 1=>0x1F67F),
                     array(0=>0x1F6C6, 1=>0x1F6FF),
                     array(0=>0x1F774, 1=>0x1FFFD),
                     array(0=>0x2A6D7, 1=>0x2A6FF),
                     array(0=>0x2B735, 1=>0x2B73F),
                     array(0=>0x2B81E, 1=>0x2F7FF),
                     array(0=>0x2FA1E, 1=>0x2FFFD),
                     array(0=>0x30000, 1=>0x3FFFD),
                     array(0=>0x40000, 1=>0x4FFFD),
                     array(0=>0x50000, 1=>0x5FFFD),
                     array(0=>0x60000, 1=>0x6FFFD),
                     array(0=>0x70000, 1=>0x7FFFD),
                     array(0=>0x80000, 1=>0x8FFFD),
                     array(0=>0x90000, 1=>0x9FFFD),
                     array(0=>0xA0000, 1=>0xAFFFD),
                     array(0=>0xB0000, 1=>0xBFFFD),
                     array(0=>0xC0000, 1=>0xCFFFD),
                     array(0=>0xD0000, 1=>0xDFFFD),
                     array(0=>0xE0000, 1=>0xE0000),
                     array(0=>0xE0002, 1=>0xE001F),
                     array(0=>0xE0080, 1=>0xE00FF),
                     array(0=>0xE01F0, 1=>0xEFFFD));
    }

    public static function Co_ranges() {
        return array(array(0=>0xE000, 1=>0xF8FF),
                     array(0=>0xF0000, 1=>0xFFFFD),
                     array(0=>0x100000, 1=>0x10FFFD));
    }

    public static function Cs_ranges() {
        return array();
    }

    public static function L_ranges() {
        return array(array(0=>0x0041, 1=>0x005A),
                     array(0=>0x0061, 1=>0x007A),
                     array(0=>0x00AA, 1=>0x00AA),
                     array(0=>0x00B5, 1=>0x00B5),
                     array(0=>0x00BA, 1=>0x00BA),
                     array(0=>0x00C0, 1=>0x00D6),
                     array(0=>0x00D8, 1=>0x00F6),
                     array(0=>0x00F8, 1=>0x02C1),
                     array(0=>0x02C6, 1=>0x02D1),
                     array(0=>0x02E0, 1=>0x02E4),
                     array(0=>0x02EC, 1=>0x02EC),
                     array(0=>0x02EE, 1=>0x02EE),
                     array(0=>0x0370, 1=>0x0374),
                     array(0=>0x0376, 1=>0x0377),
                     array(0=>0x037A, 1=>0x037D),
                     array(0=>0x0386, 1=>0x0386),
                     array(0=>0x0388, 1=>0x038A),
                     array(0=>0x038C, 1=>0x038C),
                     array(0=>0x038E, 1=>0x03A1),
                     array(0=>0x03A3, 1=>0x03F5),
                     array(0=>0x03F7, 1=>0x0481),
                     array(0=>0x048A, 1=>0x0527),
                     array(0=>0x0531, 1=>0x0556),
                     array(0=>0x0559, 1=>0x0559),
                     array(0=>0x0561, 1=>0x0587),
                     array(0=>0x05D0, 1=>0x05EA),
                     array(0=>0x05F0, 1=>0x05F2),
                     array(0=>0x0620, 1=>0x064A),
                     array(0=>0x066E, 1=>0x066F),
                     array(0=>0x0671, 1=>0x06D3),
                     array(0=>0x06D5, 1=>0x06D5),
                     array(0=>0x06E5, 1=>0x06E6),
                     array(0=>0x06EE, 1=>0x06EF),
                     array(0=>0x06FA, 1=>0x06FC),
                     array(0=>0x06FF, 1=>0x06FF),
                     array(0=>0x0710, 1=>0x0710),
                     array(0=>0x0712, 1=>0x072F),
                     array(0=>0x074D, 1=>0x07A5),
                     array(0=>0x07B1, 1=>0x07B1),
                     array(0=>0x07CA, 1=>0x07EA),
                     array(0=>0x07F4, 1=>0x07F5),
                     array(0=>0x07FA, 1=>0x07FA),
                     array(0=>0x0800, 1=>0x0815),
                     array(0=>0x081A, 1=>0x081A),
                     array(0=>0x0824, 1=>0x0824),
                     array(0=>0x0828, 1=>0x0828),
                     array(0=>0x0840, 1=>0x0858),
                     array(0=>0x08A0, 1=>0x08A0),
                     array(0=>0x08A2, 1=>0x08AC),
                     array(0=>0x0904, 1=>0x0939),
                     array(0=>0x093D, 1=>0x093D),
                     array(0=>0x0950, 1=>0x0950),
                     array(0=>0x0958, 1=>0x0961),
                     array(0=>0x0971, 1=>0x0977),
                     array(0=>0x0979, 1=>0x097F),
                     array(0=>0x0985, 1=>0x098C),
                     array(0=>0x098F, 1=>0x0990),
                     array(0=>0x0993, 1=>0x09A8),
                     array(0=>0x09AA, 1=>0x09B0),
                     array(0=>0x09B2, 1=>0x09B2),
                     array(0=>0x09B6, 1=>0x09B9),
                     array(0=>0x09BD, 1=>0x09BD),
                     array(0=>0x09CE, 1=>0x09CE),
                     array(0=>0x09DC, 1=>0x09DD),
                     array(0=>0x09DF, 1=>0x09E1),
                     array(0=>0x09F0, 1=>0x09F1),
                     array(0=>0x0A05, 1=>0x0A0A),
                     array(0=>0x0A0F, 1=>0x0A10),
                     array(0=>0x0A13, 1=>0x0A28),
                     array(0=>0x0A2A, 1=>0x0A30),
                     array(0=>0x0A32, 1=>0x0A33),
                     array(0=>0x0A35, 1=>0x0A36),
                     array(0=>0x0A38, 1=>0x0A39),
                     array(0=>0x0A59, 1=>0x0A5C),
                     array(0=>0x0A5E, 1=>0x0A5E),
                     array(0=>0x0A72, 1=>0x0A74),
                     array(0=>0x0A85, 1=>0x0A8D),
                     array(0=>0x0A8F, 1=>0x0A91),
                     array(0=>0x0A93, 1=>0x0AA8),
                     array(0=>0x0AAA, 1=>0x0AB0),
                     array(0=>0x0AB2, 1=>0x0AB3),
                     array(0=>0x0AB5, 1=>0x0AB9),
                     array(0=>0x0ABD, 1=>0x0ABD),
                     array(0=>0x0AD0, 1=>0x0AD0),
                     array(0=>0x0AE0, 1=>0x0AE1),
                     array(0=>0x0B05, 1=>0x0B0C),
                     array(0=>0x0B0F, 1=>0x0B10),
                     array(0=>0x0B13, 1=>0x0B28),
                     array(0=>0x0B2A, 1=>0x0B30),
                     array(0=>0x0B32, 1=>0x0B33),
                     array(0=>0x0B35, 1=>0x0B39),
                     array(0=>0x0B3D, 1=>0x0B3D),
                     array(0=>0x0B5C, 1=>0x0B5D),
                     array(0=>0x0B5F, 1=>0x0B61),
                     array(0=>0x0B71, 1=>0x0B71),
                     array(0=>0x0B83, 1=>0x0B83),
                     array(0=>0x0B85, 1=>0x0B8A),
                     array(0=>0x0B8E, 1=>0x0B90),
                     array(0=>0x0B92, 1=>0x0B95),
                     array(0=>0x0B99, 1=>0x0B9A),
                     array(0=>0x0B9C, 1=>0x0B9C),
                     array(0=>0x0B9E, 1=>0x0B9F),
                     array(0=>0x0BA3, 1=>0x0BA4),
                     array(0=>0x0BA8, 1=>0x0BAA),
                     array(0=>0x0BAE, 1=>0x0BB9),
                     array(0=>0x0BD0, 1=>0x0BD0),
                     array(0=>0x0C05, 1=>0x0C0C),
                     array(0=>0x0C0E, 1=>0x0C10),
                     array(0=>0x0C12, 1=>0x0C28),
                     array(0=>0x0C2A, 1=>0x0C33),
                     array(0=>0x0C35, 1=>0x0C39),
                     array(0=>0x0C3D, 1=>0x0C3D),
                     array(0=>0x0C58, 1=>0x0C59),
                     array(0=>0x0C60, 1=>0x0C61),
                     array(0=>0x0C85, 1=>0x0C8C),
                     array(0=>0x0C8E, 1=>0x0C90),
                     array(0=>0x0C92, 1=>0x0CA8),
                     array(0=>0x0CAA, 1=>0x0CB3),
                     array(0=>0x0CB5, 1=>0x0CB9),
                     array(0=>0x0CBD, 1=>0x0CBD),
                     array(0=>0x0CDE, 1=>0x0CDE),
                     array(0=>0x0CE0, 1=>0x0CE1),
                     array(0=>0x0CF1, 1=>0x0CF2),
                     array(0=>0x0D05, 1=>0x0D0C),
                     array(0=>0x0D0E, 1=>0x0D10),
                     array(0=>0x0D12, 1=>0x0D3A),
                     array(0=>0x0D3D, 1=>0x0D3D),
                     array(0=>0x0D4E, 1=>0x0D4E),
                     array(0=>0x0D60, 1=>0x0D61),
                     array(0=>0x0D7A, 1=>0x0D7F),
                     array(0=>0x0D85, 1=>0x0D96),
                     array(0=>0x0D9A, 1=>0x0DB1),
                     array(0=>0x0DB3, 1=>0x0DBB),
                     array(0=>0x0DBD, 1=>0x0DBD),
                     array(0=>0x0DC0, 1=>0x0DC6),
                     array(0=>0x0E01, 1=>0x0E30),
                     array(0=>0x0E32, 1=>0x0E33),
                     array(0=>0x0E40, 1=>0x0E46),
                     array(0=>0x0E81, 1=>0x0E82),
                     array(0=>0x0E84, 1=>0x0E84),
                     array(0=>0x0E87, 1=>0x0E88),
                     array(0=>0x0E8A, 1=>0x0E8A),
                     array(0=>0x0E8D, 1=>0x0E8D),
                     array(0=>0x0E94, 1=>0x0E97),
                     array(0=>0x0E99, 1=>0x0E9F),
                     array(0=>0x0EA1, 1=>0x0EA3),
                     array(0=>0x0EA5, 1=>0x0EA5),
                     array(0=>0x0EA7, 1=>0x0EA7),
                     array(0=>0x0EAA, 1=>0x0EAB),
                     array(0=>0x0EAD, 1=>0x0EB0),
                     array(0=>0x0EB2, 1=>0x0EB3),
                     array(0=>0x0EBD, 1=>0x0EBD),
                     array(0=>0x0EC0, 1=>0x0EC4),
                     array(0=>0x0EC6, 1=>0x0EC6),
                     array(0=>0x0EDC, 1=>0x0EDF),
                     array(0=>0x0F00, 1=>0x0F00),
                     array(0=>0x0F40, 1=>0x0F47),
                     array(0=>0x0F49, 1=>0x0F6C),
                     array(0=>0x0F88, 1=>0x0F8C),
                     array(0=>0x1000, 1=>0x102A),
                     array(0=>0x103F, 1=>0x103F),
                     array(0=>0x1050, 1=>0x1055),
                     array(0=>0x105A, 1=>0x105D),
                     array(0=>0x1061, 1=>0x1061),
                     array(0=>0x1065, 1=>0x1066),
                     array(0=>0x106E, 1=>0x1070),
                     array(0=>0x1075, 1=>0x1081),
                     array(0=>0x108E, 1=>0x108E),
                     array(0=>0x10A0, 1=>0x10C5),
                     array(0=>0x10C7, 1=>0x10C7),
                     array(0=>0x10CD, 1=>0x10CD),
                     array(0=>0x10D0, 1=>0x10FA),
                     array(0=>0x10FC, 1=>0x1248),
                     array(0=>0x124A, 1=>0x124D),
                     array(0=>0x1250, 1=>0x1256),
                     array(0=>0x1258, 1=>0x1258),
                     array(0=>0x125A, 1=>0x125D),
                     array(0=>0x1260, 1=>0x1288),
                     array(0=>0x128A, 1=>0x128D),
                     array(0=>0x1290, 1=>0x12B0),
                     array(0=>0x12B2, 1=>0x12B5),
                     array(0=>0x12B8, 1=>0x12BE),
                     array(0=>0x12C0, 1=>0x12C0),
                     array(0=>0x12C2, 1=>0x12C5),
                     array(0=>0x12C8, 1=>0x12D6),
                     array(0=>0x12D8, 1=>0x1310),
                     array(0=>0x1312, 1=>0x1315),
                     array(0=>0x1318, 1=>0x135A),
                     array(0=>0x1380, 1=>0x138F),
                     array(0=>0x13A0, 1=>0x13F4),
                     array(0=>0x1401, 1=>0x166C),
                     array(0=>0x166F, 1=>0x167F),
                     array(0=>0x1681, 1=>0x169A),
                     array(0=>0x16A0, 1=>0x16EA),
                     array(0=>0x1700, 1=>0x170C),
                     array(0=>0x170E, 1=>0x1711),
                     array(0=>0x1720, 1=>0x1731),
                     array(0=>0x1740, 1=>0x1751),
                     array(0=>0x1760, 1=>0x176C),
                     array(0=>0x176E, 1=>0x1770),
                     array(0=>0x1780, 1=>0x17B3),
                     array(0=>0x17D7, 1=>0x17D7),
                     array(0=>0x17DC, 1=>0x17DC),
                     array(0=>0x1820, 1=>0x1877),
                     array(0=>0x1880, 1=>0x18A8),
                     array(0=>0x18AA, 1=>0x18AA),
                     array(0=>0x18B0, 1=>0x18F5),
                     array(0=>0x1900, 1=>0x191C),
                     array(0=>0x1950, 1=>0x196D),
                     array(0=>0x1970, 1=>0x1974),
                     array(0=>0x1980, 1=>0x19AB),
                     array(0=>0x19C1, 1=>0x19C7),
                     array(0=>0x1A00, 1=>0x1A16),
                     array(0=>0x1A20, 1=>0x1A54),
                     array(0=>0x1AA7, 1=>0x1AA7),
                     array(0=>0x1B05, 1=>0x1B33),
                     array(0=>0x1B45, 1=>0x1B4B),
                     array(0=>0x1B83, 1=>0x1BA0),
                     array(0=>0x1BAE, 1=>0x1BAF),
                     array(0=>0x1BBA, 1=>0x1BE5),
                     array(0=>0x1C00, 1=>0x1C23),
                     array(0=>0x1C4D, 1=>0x1C4F),
                     array(0=>0x1C5A, 1=>0x1C7D),
                     array(0=>0x1CE9, 1=>0x1CEC),
                     array(0=>0x1CEE, 1=>0x1CF1),
                     array(0=>0x1CF5, 1=>0x1CF6),
                     array(0=>0x1D00, 1=>0x1DBF),
                     array(0=>0x1E00, 1=>0x1F15),
                     array(0=>0x1F18, 1=>0x1F1D),
                     array(0=>0x1F20, 1=>0x1F45),
                     array(0=>0x1F48, 1=>0x1F4D),
                     array(0=>0x1F50, 1=>0x1F57),
                     array(0=>0x1F59, 1=>0x1F59),
                     array(0=>0x1F5B, 1=>0x1F5B),
                     array(0=>0x1F5D, 1=>0x1F5D),
                     array(0=>0x1F5F, 1=>0x1F7D),
                     array(0=>0x1F80, 1=>0x1FB4),
                     array(0=>0x1FB6, 1=>0x1FBC),
                     array(0=>0x1FBE, 1=>0x1FBE),
                     array(0=>0x1FC2, 1=>0x1FC4),
                     array(0=>0x1FC6, 1=>0x1FCC),
                     array(0=>0x1FD0, 1=>0x1FD3),
                     array(0=>0x1FD6, 1=>0x1FDB),
                     array(0=>0x1FE0, 1=>0x1FEC),
                     array(0=>0x1FF2, 1=>0x1FF4),
                     array(0=>0x1FF6, 1=>0x1FFC),
                     array(0=>0x2071, 1=>0x2071),
                     array(0=>0x207F, 1=>0x207F),
                     array(0=>0x2090, 1=>0x209C),
                     array(0=>0x2102, 1=>0x2102),
                     array(0=>0x2107, 1=>0x2107),
                     array(0=>0x210A, 1=>0x2113),
                     array(0=>0x2115, 1=>0x2115),
                     array(0=>0x2119, 1=>0x211D),
                     array(0=>0x2124, 1=>0x2124),
                     array(0=>0x2126, 1=>0x2126),
                     array(0=>0x2128, 1=>0x2128),
                     array(0=>0x212A, 1=>0x212D),
                     array(0=>0x212F, 1=>0x2139),
                     array(0=>0x213C, 1=>0x213F),
                     array(0=>0x2145, 1=>0x2149),
                     array(0=>0x214E, 1=>0x214E),
                     array(0=>0x2183, 1=>0x2184),
                     array(0=>0x2C00, 1=>0x2C2E),
                     array(0=>0x2C30, 1=>0x2C5E),
                     array(0=>0x2C60, 1=>0x2CE4),
                     array(0=>0x2CEB, 1=>0x2CEE),
                     array(0=>0x2CF2, 1=>0x2CF3),
                     array(0=>0x2D00, 1=>0x2D25),
                     array(0=>0x2D27, 1=>0x2D27),
                     array(0=>0x2D2D, 1=>0x2D2D),
                     array(0=>0x2D30, 1=>0x2D67),
                     array(0=>0x2D6F, 1=>0x2D6F),
                     array(0=>0x2D80, 1=>0x2D96),
                     array(0=>0x2DA0, 1=>0x2DA6),
                     array(0=>0x2DA8, 1=>0x2DAE),
                     array(0=>0x2DB0, 1=>0x2DB6),
                     array(0=>0x2DB8, 1=>0x2DBE),
                     array(0=>0x2DC0, 1=>0x2DC6),
                     array(0=>0x2DC8, 1=>0x2DCE),
                     array(0=>0x2DD0, 1=>0x2DD6),
                     array(0=>0x2DD8, 1=>0x2DDE),
                     array(0=>0x2E2F, 1=>0x2E2F),
                     array(0=>0x3005, 1=>0x3006),
                     array(0=>0x3031, 1=>0x3035),
                     array(0=>0x303B, 1=>0x303C),
                     array(0=>0x3041, 1=>0x3096),
                     array(0=>0x309D, 1=>0x309F),
                     array(0=>0x30A1, 1=>0x30FA),
                     array(0=>0x30FC, 1=>0x30FF),
                     array(0=>0x3105, 1=>0x312D),
                     array(0=>0x3131, 1=>0x318E),
                     array(0=>0x31A0, 1=>0x31BA),
                     array(0=>0x31F0, 1=>0x31FF),
                     array(0=>0x3400, 1=>0x4DB5),
                     array(0=>0x4E00, 1=>0x9FCC),
                     array(0=>0xA000, 1=>0xA48C),
                     array(0=>0xA4D0, 1=>0xA4FD),
                     array(0=>0xA500, 1=>0xA60C),
                     array(0=>0xA610, 1=>0xA61F),
                     array(0=>0xA62A, 1=>0xA62B),
                     array(0=>0xA640, 1=>0xA66E),
                     array(0=>0xA67F, 1=>0xA697),
                     array(0=>0xA6A0, 1=>0xA6E5),
                     array(0=>0xA717, 1=>0xA71F),
                     array(0=>0xA722, 1=>0xA788),
                     array(0=>0xA78B, 1=>0xA78E),
                     array(0=>0xA790, 1=>0xA793),
                     array(0=>0xA7A0, 1=>0xA7AA),
                     array(0=>0xA7F8, 1=>0xA801),
                     array(0=>0xA803, 1=>0xA805),
                     array(0=>0xA807, 1=>0xA80A),
                     array(0=>0xA80C, 1=>0xA822),
                     array(0=>0xA840, 1=>0xA873),
                     array(0=>0xA882, 1=>0xA8B3),
                     array(0=>0xA8F2, 1=>0xA8F7),
                     array(0=>0xA8FB, 1=>0xA8FB),
                     array(0=>0xA90A, 1=>0xA925),
                     array(0=>0xA930, 1=>0xA946),
                     array(0=>0xA960, 1=>0xA97C),
                     array(0=>0xA984, 1=>0xA9B2),
                     array(0=>0xA9CF, 1=>0xA9CF),
                     array(0=>0xAA00, 1=>0xAA28),
                     array(0=>0xAA40, 1=>0xAA42),
                     array(0=>0xAA44, 1=>0xAA4B),
                     array(0=>0xAA60, 1=>0xAA76),
                     array(0=>0xAA7A, 1=>0xAA7A),
                     array(0=>0xAA80, 1=>0xAAAF),
                     array(0=>0xAAB1, 1=>0xAAB1),
                     array(0=>0xAAB5, 1=>0xAAB6),
                     array(0=>0xAAB9, 1=>0xAABD),
                     array(0=>0xAAC0, 1=>0xAAC0),
                     array(0=>0xAAC2, 1=>0xAAC2),
                     array(0=>0xAADB, 1=>0xAADD),
                     array(0=>0xAAE0, 1=>0xAAEA),
                     array(0=>0xAAF2, 1=>0xAAF4),
                     array(0=>0xAB01, 1=>0xAB06),
                     array(0=>0xAB09, 1=>0xAB0E),
                     array(0=>0xAB11, 1=>0xAB16),
                     array(0=>0xAB20, 1=>0xAB26),
                     array(0=>0xAB28, 1=>0xAB2E),
                     array(0=>0xABC0, 1=>0xABE2),
                     array(0=>0xAC00, 1=>0xD7A3),
                     array(0=>0xD7B0, 1=>0xD7C6),
                     array(0=>0xD7CB, 1=>0xD7FB),
                     array(0=>0xF900, 1=>0xFA6D),
                     array(0=>0xFA70, 1=>0xFAD9),
                     array(0=>0xFB00, 1=>0xFB06),
                     array(0=>0xFB13, 1=>0xFB17),
                     array(0=>0xFB1D, 1=>0xFB1D),
                     array(0=>0xFB1F, 1=>0xFB28),
                     array(0=>0xFB2A, 1=>0xFB36),
                     array(0=>0xFB38, 1=>0xFB3C),
                     array(0=>0xFB3E, 1=>0xFB3E),
                     array(0=>0xFB40, 1=>0xFB41),
                     array(0=>0xFB43, 1=>0xFB44),
                     array(0=>0xFB46, 1=>0xFBB1),
                     array(0=>0xFBD3, 1=>0xFD3D),
                     array(0=>0xFD50, 1=>0xFD8F),
                     array(0=>0xFD92, 1=>0xFDC7),
                     array(0=>0xFDF0, 1=>0xFDFB),
                     array(0=>0xFE70, 1=>0xFE74),
                     array(0=>0xFE76, 1=>0xFEFC),
                     array(0=>0xFF21, 1=>0xFF3A),
                     array(0=>0xFF41, 1=>0xFF5A),
                     array(0=>0xFF66, 1=>0xFFBE),
                     array(0=>0xFFC2, 1=>0xFFC7),
                     array(0=>0xFFCA, 1=>0xFFCF),
                     array(0=>0xFFD2, 1=>0xFFD7),
                     array(0=>0xFFDA, 1=>0xFFDC),
                     array(0=>0x10000, 1=>0x1000B),
                     array(0=>0x1000D, 1=>0x10026),
                     array(0=>0x10028, 1=>0x1003A),
                     array(0=>0x1003C, 1=>0x1003D),
                     array(0=>0x1003F, 1=>0x1004D),
                     array(0=>0x10050, 1=>0x1005D),
                     array(0=>0x10080, 1=>0x100FA),
                     array(0=>0x10280, 1=>0x1029C),
                     array(0=>0x102A0, 1=>0x102D0),
                     array(0=>0x10300, 1=>0x1031E),
                     array(0=>0x10330, 1=>0x10340),
                     array(0=>0x10342, 1=>0x10349),
                     array(0=>0x10380, 1=>0x1039D),
                     array(0=>0x103A0, 1=>0x103C3),
                     array(0=>0x103C8, 1=>0x103CF),
                     array(0=>0x10400, 1=>0x1049D),
                     array(0=>0x10800, 1=>0x10805),
                     array(0=>0x10808, 1=>0x10808),
                     array(0=>0x1080A, 1=>0x10835),
                     array(0=>0x10837, 1=>0x10838),
                     array(0=>0x1083C, 1=>0x1083C),
                     array(0=>0x1083F, 1=>0x10855),
                     array(0=>0x10900, 1=>0x10915),
                     array(0=>0x10920, 1=>0x10939),
                     array(0=>0x10980, 1=>0x109B7),
                     array(0=>0x109BE, 1=>0x109BF),
                     array(0=>0x10A00, 1=>0x10A00),
                     array(0=>0x10A10, 1=>0x10A13),
                     array(0=>0x10A15, 1=>0x10A17),
                     array(0=>0x10A19, 1=>0x10A33),
                     array(0=>0x10A60, 1=>0x10A7C),
                     array(0=>0x10B00, 1=>0x10B35),
                     array(0=>0x10B40, 1=>0x10B55),
                     array(0=>0x10B60, 1=>0x10B72),
                     array(0=>0x10C00, 1=>0x10C48),
                     array(0=>0x11003, 1=>0x11037),
                     array(0=>0x11083, 1=>0x110AF),
                     array(0=>0x110D0, 1=>0x110E8),
                     array(0=>0x11103, 1=>0x11126),
                     array(0=>0x11183, 1=>0x111B2),
                     array(0=>0x111C1, 1=>0x111C4),
                     array(0=>0x11680, 1=>0x116AA),
                     array(0=>0x12000, 1=>0x1236E),
                     array(0=>0x13000, 1=>0x1342E),
                     array(0=>0x16800, 1=>0x16A38),
                     array(0=>0x16F00, 1=>0x16F44),
                     array(0=>0x16F50, 1=>0x16F50),
                     array(0=>0x16F93, 1=>0x16F9F),
                     array(0=>0x1B000, 1=>0x1B001),
                     array(0=>0x1D400, 1=>0x1D454),
                     array(0=>0x1D456, 1=>0x1D49C),
                     array(0=>0x1D49E, 1=>0x1D49F),
                     array(0=>0x1D4A2, 1=>0x1D4A2),
                     array(0=>0x1D4A5, 1=>0x1D4A6),
                     array(0=>0x1D4A9, 1=>0x1D4AC),
                     array(0=>0x1D4AE, 1=>0x1D4B9),
                     array(0=>0x1D4BB, 1=>0x1D4BB),
                     array(0=>0x1D4BD, 1=>0x1D4C3),
                     array(0=>0x1D4C5, 1=>0x1D505),
                     array(0=>0x1D507, 1=>0x1D50A),
                     array(0=>0x1D50D, 1=>0x1D514),
                     array(0=>0x1D516, 1=>0x1D51C),
                     array(0=>0x1D51E, 1=>0x1D539),
                     array(0=>0x1D53B, 1=>0x1D53E),
                     array(0=>0x1D540, 1=>0x1D544),
                     array(0=>0x1D546, 1=>0x1D546),
                     array(0=>0x1D54A, 1=>0x1D550),
                     array(0=>0x1D552, 1=>0x1D6A5),
                     array(0=>0x1D6A8, 1=>0x1D6C0),
                     array(0=>0x1D6C2, 1=>0x1D6DA),
                     array(0=>0x1D6DC, 1=>0x1D6FA),
                     array(0=>0x1D6FC, 1=>0x1D714),
                     array(0=>0x1D716, 1=>0x1D734),
                     array(0=>0x1D736, 1=>0x1D74E),
                     array(0=>0x1D750, 1=>0x1D76E),
                     array(0=>0x1D770, 1=>0x1D788),
                     array(0=>0x1D78A, 1=>0x1D7A8),
                     array(0=>0x1D7AA, 1=>0x1D7C2),
                     array(0=>0x1D7C4, 1=>0x1D7CB),
                     array(0=>0x1EE00, 1=>0x1EE03),
                     array(0=>0x1EE05, 1=>0x1EE1F),
                     array(0=>0x1EE21, 1=>0x1EE22),
                     array(0=>0x1EE24, 1=>0x1EE24),
                     array(0=>0x1EE27, 1=>0x1EE27),
                     array(0=>0x1EE29, 1=>0x1EE32),
                     array(0=>0x1EE34, 1=>0x1EE37),
                     array(0=>0x1EE39, 1=>0x1EE39),
                     array(0=>0x1EE3B, 1=>0x1EE3B),
                     array(0=>0x1EE42, 1=>0x1EE42),
                     array(0=>0x1EE47, 1=>0x1EE47),
                     array(0=>0x1EE49, 1=>0x1EE49),
                     array(0=>0x1EE4B, 1=>0x1EE4B),
                     array(0=>0x1EE4D, 1=>0x1EE4F),
                     array(0=>0x1EE51, 1=>0x1EE52),
                     array(0=>0x1EE54, 1=>0x1EE54),
                     array(0=>0x1EE57, 1=>0x1EE57),
                     array(0=>0x1EE59, 1=>0x1EE59),
                     array(0=>0x1EE5B, 1=>0x1EE5B),
                     array(0=>0x1EE5D, 1=>0x1EE5D),
                     array(0=>0x1EE5F, 1=>0x1EE5F),
                     array(0=>0x1EE61, 1=>0x1EE62),
                     array(0=>0x1EE64, 1=>0x1EE64),
                     array(0=>0x1EE67, 1=>0x1EE6A),
                     array(0=>0x1EE6C, 1=>0x1EE72),
                     array(0=>0x1EE74, 1=>0x1EE77),
                     array(0=>0x1EE79, 1=>0x1EE7C),
                     array(0=>0x1EE7E, 1=>0x1EE7E),
                     array(0=>0x1EE80, 1=>0x1EE89),
                     array(0=>0x1EE8B, 1=>0x1EE9B),
                     array(0=>0x1EEA1, 1=>0x1EEA3),
                     array(0=>0x1EEA5, 1=>0x1EEA9),
                     array(0=>0x1EEAB, 1=>0x1EEBB),
                     array(0=>0x20000, 1=>0x2A6D6),
                     array(0=>0x2A700, 1=>0x2B734),
                     array(0=>0x2B740, 1=>0x2B81D),
                     array(0=>0x2F800, 1=>0x2FA1D));
    }

    public static function Ll_ranges() {
        return array(array(0=>0x0061, 1=>0x007A),
                     array(0=>0x00B5, 1=>0x00B5),
                     array(0=>0x00DF, 1=>0x00F6),
                     array(0=>0x00F8, 1=>0x00FF),
                     array(0=>0x0101, 1=>0x0101),
                     array(0=>0x0103, 1=>0x0103),
                     array(0=>0x0105, 1=>0x0105),
                     array(0=>0x0107, 1=>0x0107),
                     array(0=>0x0109, 1=>0x0109),
                     array(0=>0x010B, 1=>0x010B),
                     array(0=>0x010D, 1=>0x010D),
                     array(0=>0x010F, 1=>0x010F),
                     array(0=>0x0111, 1=>0x0111),
                     array(0=>0x0113, 1=>0x0113),
                     array(0=>0x0115, 1=>0x0115),
                     array(0=>0x0117, 1=>0x0117),
                     array(0=>0x0119, 1=>0x0119),
                     array(0=>0x011B, 1=>0x011B),
                     array(0=>0x011D, 1=>0x011D),
                     array(0=>0x011F, 1=>0x011F),
                     array(0=>0x0121, 1=>0x0121),
                     array(0=>0x0123, 1=>0x0123),
                     array(0=>0x0125, 1=>0x0125),
                     array(0=>0x0127, 1=>0x0127),
                     array(0=>0x0129, 1=>0x0129),
                     array(0=>0x012B, 1=>0x012B),
                     array(0=>0x012D, 1=>0x012D),
                     array(0=>0x012F, 1=>0x012F),
                     array(0=>0x0131, 1=>0x0131),
                     array(0=>0x0133, 1=>0x0133),
                     array(0=>0x0135, 1=>0x0135),
                     array(0=>0x0137, 1=>0x0138),
                     array(0=>0x013A, 1=>0x013A),
                     array(0=>0x013C, 1=>0x013C),
                     array(0=>0x013E, 1=>0x013E),
                     array(0=>0x0140, 1=>0x0140),
                     array(0=>0x0142, 1=>0x0142),
                     array(0=>0x0144, 1=>0x0144),
                     array(0=>0x0146, 1=>0x0146),
                     array(0=>0x0148, 1=>0x0149),
                     array(0=>0x014B, 1=>0x014B),
                     array(0=>0x014D, 1=>0x014D),
                     array(0=>0x014F, 1=>0x014F),
                     array(0=>0x0151, 1=>0x0151),
                     array(0=>0x0153, 1=>0x0153),
                     array(0=>0x0155, 1=>0x0155),
                     array(0=>0x0157, 1=>0x0157),
                     array(0=>0x0159, 1=>0x0159),
                     array(0=>0x015B, 1=>0x015B),
                     array(0=>0x015D, 1=>0x015D),
                     array(0=>0x015F, 1=>0x015F),
                     array(0=>0x0161, 1=>0x0161),
                     array(0=>0x0163, 1=>0x0163),
                     array(0=>0x0165, 1=>0x0165),
                     array(0=>0x0167, 1=>0x0167),
                     array(0=>0x0169, 1=>0x0169),
                     array(0=>0x016B, 1=>0x016B),
                     array(0=>0x016D, 1=>0x016D),
                     array(0=>0x016F, 1=>0x016F),
                     array(0=>0x0171, 1=>0x0171),
                     array(0=>0x0173, 1=>0x0173),
                     array(0=>0x0175, 1=>0x0175),
                     array(0=>0x0177, 1=>0x0177),
                     array(0=>0x017A, 1=>0x017A),
                     array(0=>0x017C, 1=>0x017C),
                     array(0=>0x017E, 1=>0x0180),
                     array(0=>0x0183, 1=>0x0183),
                     array(0=>0x0185, 1=>0x0185),
                     array(0=>0x0188, 1=>0x0188),
                     array(0=>0x018C, 1=>0x018D),
                     array(0=>0x0192, 1=>0x0192),
                     array(0=>0x0195, 1=>0x0195),
                     array(0=>0x0199, 1=>0x019B),
                     array(0=>0x019E, 1=>0x019E),
                     array(0=>0x01A1, 1=>0x01A1),
                     array(0=>0x01A3, 1=>0x01A3),
                     array(0=>0x01A5, 1=>0x01A5),
                     array(0=>0x01A8, 1=>0x01A8),
                     array(0=>0x01AA, 1=>0x01AB),
                     array(0=>0x01AD, 1=>0x01AD),
                     array(0=>0x01B0, 1=>0x01B0),
                     array(0=>0x01B4, 1=>0x01B4),
                     array(0=>0x01B6, 1=>0x01B6),
                     array(0=>0x01B9, 1=>0x01BA),
                     array(0=>0x01BD, 1=>0x01BF),
                     array(0=>0x01C6, 1=>0x01C6),
                     array(0=>0x01C9, 1=>0x01C9),
                     array(0=>0x01CC, 1=>0x01CC),
                     array(0=>0x01CE, 1=>0x01CE),
                     array(0=>0x01D0, 1=>0x01D0),
                     array(0=>0x01D2, 1=>0x01D2),
                     array(0=>0x01D4, 1=>0x01D4),
                     array(0=>0x01D6, 1=>0x01D6),
                     array(0=>0x01D8, 1=>0x01D8),
                     array(0=>0x01DA, 1=>0x01DA),
                     array(0=>0x01DC, 1=>0x01DD),
                     array(0=>0x01DF, 1=>0x01DF),
                     array(0=>0x01E1, 1=>0x01E1),
                     array(0=>0x01E3, 1=>0x01E3),
                     array(0=>0x01E5, 1=>0x01E5),
                     array(0=>0x01E7, 1=>0x01E7),
                     array(0=>0x01E9, 1=>0x01E9),
                     array(0=>0x01EB, 1=>0x01EB),
                     array(0=>0x01ED, 1=>0x01ED),
                     array(0=>0x01EF, 1=>0x01F0),
                     array(0=>0x01F3, 1=>0x01F3),
                     array(0=>0x01F5, 1=>0x01F5),
                     array(0=>0x01F9, 1=>0x01F9),
                     array(0=>0x01FB, 1=>0x01FB),
                     array(0=>0x01FD, 1=>0x01FD),
                     array(0=>0x01FF, 1=>0x01FF),
                     array(0=>0x0201, 1=>0x0201),
                     array(0=>0x0203, 1=>0x0203),
                     array(0=>0x0205, 1=>0x0205),
                     array(0=>0x0207, 1=>0x0207),
                     array(0=>0x0209, 1=>0x0209),
                     array(0=>0x020B, 1=>0x020B),
                     array(0=>0x020D, 1=>0x020D),
                     array(0=>0x020F, 1=>0x020F),
                     array(0=>0x0211, 1=>0x0211),
                     array(0=>0x0213, 1=>0x0213),
                     array(0=>0x0215, 1=>0x0215),
                     array(0=>0x0217, 1=>0x0217),
                     array(0=>0x0219, 1=>0x0219),
                     array(0=>0x021B, 1=>0x021B),
                     array(0=>0x021D, 1=>0x021D),
                     array(0=>0x021F, 1=>0x021F),
                     array(0=>0x0221, 1=>0x0221),
                     array(0=>0x0223, 1=>0x0223),
                     array(0=>0x0225, 1=>0x0225),
                     array(0=>0x0227, 1=>0x0227),
                     array(0=>0x0229, 1=>0x0229),
                     array(0=>0x022B, 1=>0x022B),
                     array(0=>0x022D, 1=>0x022D),
                     array(0=>0x022F, 1=>0x022F),
                     array(0=>0x0231, 1=>0x0231),
                     array(0=>0x0233, 1=>0x0239),
                     array(0=>0x023C, 1=>0x023C),
                     array(0=>0x023F, 1=>0x0240),
                     array(0=>0x0242, 1=>0x0242),
                     array(0=>0x0247, 1=>0x0247),
                     array(0=>0x0249, 1=>0x0249),
                     array(0=>0x024B, 1=>0x024B),
                     array(0=>0x024D, 1=>0x024D),
                     array(0=>0x024F, 1=>0x0293),
                     array(0=>0x0295, 1=>0x02AF),
                     array(0=>0x0371, 1=>0x0371),
                     array(0=>0x0373, 1=>0x0373),
                     array(0=>0x0377, 1=>0x0377),
                     array(0=>0x037B, 1=>0x037D),
                     array(0=>0x0390, 1=>0x0390),
                     array(0=>0x03AC, 1=>0x03CE),
                     array(0=>0x03D0, 1=>0x03D1),
                     array(0=>0x03D5, 1=>0x03D7),
                     array(0=>0x03D9, 1=>0x03D9),
                     array(0=>0x03DB, 1=>0x03DB),
                     array(0=>0x03DD, 1=>0x03DD),
                     array(0=>0x03DF, 1=>0x03DF),
                     array(0=>0x03E1, 1=>0x03E1),
                     array(0=>0x03E3, 1=>0x03E3),
                     array(0=>0x03E5, 1=>0x03E5),
                     array(0=>0x03E7, 1=>0x03E7),
                     array(0=>0x03E9, 1=>0x03E9),
                     array(0=>0x03EB, 1=>0x03EB),
                     array(0=>0x03ED, 1=>0x03ED),
                     array(0=>0x03EF, 1=>0x03F3),
                     array(0=>0x03F5, 1=>0x03F5),
                     array(0=>0x03F8, 1=>0x03F8),
                     array(0=>0x03FB, 1=>0x03FC),
                     array(0=>0x0430, 1=>0x045F),
                     array(0=>0x0461, 1=>0x0461),
                     array(0=>0x0463, 1=>0x0463),
                     array(0=>0x0465, 1=>0x0465),
                     array(0=>0x0467, 1=>0x0467),
                     array(0=>0x0469, 1=>0x0469),
                     array(0=>0x046B, 1=>0x046B),
                     array(0=>0x046D, 1=>0x046D),
                     array(0=>0x046F, 1=>0x046F),
                     array(0=>0x0471, 1=>0x0471),
                     array(0=>0x0473, 1=>0x0473),
                     array(0=>0x0475, 1=>0x0475),
                     array(0=>0x0477, 1=>0x0477),
                     array(0=>0x0479, 1=>0x0479),
                     array(0=>0x047B, 1=>0x047B),
                     array(0=>0x047D, 1=>0x047D),
                     array(0=>0x047F, 1=>0x047F),
                     array(0=>0x0481, 1=>0x0481),
                     array(0=>0x048B, 1=>0x048B),
                     array(0=>0x048D, 1=>0x048D),
                     array(0=>0x048F, 1=>0x048F),
                     array(0=>0x0491, 1=>0x0491),
                     array(0=>0x0493, 1=>0x0493),
                     array(0=>0x0495, 1=>0x0495),
                     array(0=>0x0497, 1=>0x0497),
                     array(0=>0x0499, 1=>0x0499),
                     array(0=>0x049B, 1=>0x049B),
                     array(0=>0x049D, 1=>0x049D),
                     array(0=>0x049F, 1=>0x049F),
                     array(0=>0x04A1, 1=>0x04A1),
                     array(0=>0x04A3, 1=>0x04A3),
                     array(0=>0x04A5, 1=>0x04A5),
                     array(0=>0x04A7, 1=>0x04A7),
                     array(0=>0x04A9, 1=>0x04A9),
                     array(0=>0x04AB, 1=>0x04AB),
                     array(0=>0x04AD, 1=>0x04AD),
                     array(0=>0x04AF, 1=>0x04AF),
                     array(0=>0x04B1, 1=>0x04B1),
                     array(0=>0x04B3, 1=>0x04B3),
                     array(0=>0x04B5, 1=>0x04B5),
                     array(0=>0x04B7, 1=>0x04B7),
                     array(0=>0x04B9, 1=>0x04B9),
                     array(0=>0x04BB, 1=>0x04BB),
                     array(0=>0x04BD, 1=>0x04BD),
                     array(0=>0x04BF, 1=>0x04BF),
                     array(0=>0x04C2, 1=>0x04C2),
                     array(0=>0x04C4, 1=>0x04C4),
                     array(0=>0x04C6, 1=>0x04C6),
                     array(0=>0x04C8, 1=>0x04C8),
                     array(0=>0x04CA, 1=>0x04CA),
                     array(0=>0x04CC, 1=>0x04CC),
                     array(0=>0x04CE, 1=>0x04CF),
                     array(0=>0x04D1, 1=>0x04D1),
                     array(0=>0x04D3, 1=>0x04D3),
                     array(0=>0x04D5, 1=>0x04D5),
                     array(0=>0x04D7, 1=>0x04D7),
                     array(0=>0x04D9, 1=>0x04D9),
                     array(0=>0x04DB, 1=>0x04DB),
                     array(0=>0x04DD, 1=>0x04DD),
                     array(0=>0x04DF, 1=>0x04DF),
                     array(0=>0x04E1, 1=>0x04E1),
                     array(0=>0x04E3, 1=>0x04E3),
                     array(0=>0x04E5, 1=>0x04E5),
                     array(0=>0x04E7, 1=>0x04E7),
                     array(0=>0x04E9, 1=>0x04E9),
                     array(0=>0x04EB, 1=>0x04EB),
                     array(0=>0x04ED, 1=>0x04ED),
                     array(0=>0x04EF, 1=>0x04EF),
                     array(0=>0x04F1, 1=>0x04F1),
                     array(0=>0x04F3, 1=>0x04F3),
                     array(0=>0x04F5, 1=>0x04F5),
                     array(0=>0x04F7, 1=>0x04F7),
                     array(0=>0x04F9, 1=>0x04F9),
                     array(0=>0x04FB, 1=>0x04FB),
                     array(0=>0x04FD, 1=>0x04FD),
                     array(0=>0x04FF, 1=>0x04FF),
                     array(0=>0x0501, 1=>0x0501),
                     array(0=>0x0503, 1=>0x0503),
                     array(0=>0x0505, 1=>0x0505),
                     array(0=>0x0507, 1=>0x0507),
                     array(0=>0x0509, 1=>0x0509),
                     array(0=>0x050B, 1=>0x050B),
                     array(0=>0x050D, 1=>0x050D),
                     array(0=>0x050F, 1=>0x050F),
                     array(0=>0x0511, 1=>0x0511),
                     array(0=>0x0513, 1=>0x0513),
                     array(0=>0x0515, 1=>0x0515),
                     array(0=>0x0517, 1=>0x0517),
                     array(0=>0x0519, 1=>0x0519),
                     array(0=>0x051B, 1=>0x051B),
                     array(0=>0x051D, 1=>0x051D),
                     array(0=>0x051F, 1=>0x051F),
                     array(0=>0x0521, 1=>0x0521),
                     array(0=>0x0523, 1=>0x0523),
                     array(0=>0x0525, 1=>0x0525),
                     array(0=>0x0527, 1=>0x0527),
                     array(0=>0x0561, 1=>0x0587),
                     array(0=>0x1D00, 1=>0x1D2B),
                     array(0=>0x1D6B, 1=>0x1D77),
                     array(0=>0x1D79, 1=>0x1D9A),
                     array(0=>0x1E01, 1=>0x1E01),
                     array(0=>0x1E03, 1=>0x1E03),
                     array(0=>0x1E05, 1=>0x1E05),
                     array(0=>0x1E07, 1=>0x1E07),
                     array(0=>0x1E09, 1=>0x1E09),
                     array(0=>0x1E0B, 1=>0x1E0B),
                     array(0=>0x1E0D, 1=>0x1E0D),
                     array(0=>0x1E0F, 1=>0x1E0F),
                     array(0=>0x1E11, 1=>0x1E11),
                     array(0=>0x1E13, 1=>0x1E13),
                     array(0=>0x1E15, 1=>0x1E15),
                     array(0=>0x1E17, 1=>0x1E17),
                     array(0=>0x1E19, 1=>0x1E19),
                     array(0=>0x1E1B, 1=>0x1E1B),
                     array(0=>0x1E1D, 1=>0x1E1D),
                     array(0=>0x1E1F, 1=>0x1E1F),
                     array(0=>0x1E21, 1=>0x1E21),
                     array(0=>0x1E23, 1=>0x1E23),
                     array(0=>0x1E25, 1=>0x1E25),
                     array(0=>0x1E27, 1=>0x1E27),
                     array(0=>0x1E29, 1=>0x1E29),
                     array(0=>0x1E2B, 1=>0x1E2B),
                     array(0=>0x1E2D, 1=>0x1E2D),
                     array(0=>0x1E2F, 1=>0x1E2F),
                     array(0=>0x1E31, 1=>0x1E31),
                     array(0=>0x1E33, 1=>0x1E33),
                     array(0=>0x1E35, 1=>0x1E35),
                     array(0=>0x1E37, 1=>0x1E37),
                     array(0=>0x1E39, 1=>0x1E39),
                     array(0=>0x1E3B, 1=>0x1E3B),
                     array(0=>0x1E3D, 1=>0x1E3D),
                     array(0=>0x1E3F, 1=>0x1E3F),
                     array(0=>0x1E41, 1=>0x1E41),
                     array(0=>0x1E43, 1=>0x1E43),
                     array(0=>0x1E45, 1=>0x1E45),
                     array(0=>0x1E47, 1=>0x1E47),
                     array(0=>0x1E49, 1=>0x1E49),
                     array(0=>0x1E4B, 1=>0x1E4B),
                     array(0=>0x1E4D, 1=>0x1E4D),
                     array(0=>0x1E4F, 1=>0x1E4F),
                     array(0=>0x1E51, 1=>0x1E51),
                     array(0=>0x1E53, 1=>0x1E53),
                     array(0=>0x1E55, 1=>0x1E55),
                     array(0=>0x1E57, 1=>0x1E57),
                     array(0=>0x1E59, 1=>0x1E59),
                     array(0=>0x1E5B, 1=>0x1E5B),
                     array(0=>0x1E5D, 1=>0x1E5D),
                     array(0=>0x1E5F, 1=>0x1E5F),
                     array(0=>0x1E61, 1=>0x1E61),
                     array(0=>0x1E63, 1=>0x1E63),
                     array(0=>0x1E65, 1=>0x1E65),
                     array(0=>0x1E67, 1=>0x1E67),
                     array(0=>0x1E69, 1=>0x1E69),
                     array(0=>0x1E6B, 1=>0x1E6B),
                     array(0=>0x1E6D, 1=>0x1E6D),
                     array(0=>0x1E6F, 1=>0x1E6F),
                     array(0=>0x1E71, 1=>0x1E71),
                     array(0=>0x1E73, 1=>0x1E73),
                     array(0=>0x1E75, 1=>0x1E75),
                     array(0=>0x1E77, 1=>0x1E77),
                     array(0=>0x1E79, 1=>0x1E79),
                     array(0=>0x1E7B, 1=>0x1E7B),
                     array(0=>0x1E7D, 1=>0x1E7D),
                     array(0=>0x1E7F, 1=>0x1E7F),
                     array(0=>0x1E81, 1=>0x1E81),
                     array(0=>0x1E83, 1=>0x1E83),
                     array(0=>0x1E85, 1=>0x1E85),
                     array(0=>0x1E87, 1=>0x1E87),
                     array(0=>0x1E89, 1=>0x1E89),
                     array(0=>0x1E8B, 1=>0x1E8B),
                     array(0=>0x1E8D, 1=>0x1E8D),
                     array(0=>0x1E8F, 1=>0x1E8F),
                     array(0=>0x1E91, 1=>0x1E91),
                     array(0=>0x1E93, 1=>0x1E93),
                     array(0=>0x1E95, 1=>0x1E9D),
                     array(0=>0x1E9F, 1=>0x1E9F),
                     array(0=>0x1EA1, 1=>0x1EA1),
                     array(0=>0x1EA3, 1=>0x1EA3),
                     array(0=>0x1EA5, 1=>0x1EA5),
                     array(0=>0x1EA7, 1=>0x1EA7),
                     array(0=>0x1EA9, 1=>0x1EA9),
                     array(0=>0x1EAB, 1=>0x1EAB),
                     array(0=>0x1EAD, 1=>0x1EAD),
                     array(0=>0x1EAF, 1=>0x1EAF),
                     array(0=>0x1EB1, 1=>0x1EB1),
                     array(0=>0x1EB3, 1=>0x1EB3),
                     array(0=>0x1EB5, 1=>0x1EB5),
                     array(0=>0x1EB7, 1=>0x1EB7),
                     array(0=>0x1EB9, 1=>0x1EB9),
                     array(0=>0x1EBB, 1=>0x1EBB),
                     array(0=>0x1EBD, 1=>0x1EBD),
                     array(0=>0x1EBF, 1=>0x1EBF),
                     array(0=>0x1EC1, 1=>0x1EC1),
                     array(0=>0x1EC3, 1=>0x1EC3),
                     array(0=>0x1EC5, 1=>0x1EC5),
                     array(0=>0x1EC7, 1=>0x1EC7),
                     array(0=>0x1EC9, 1=>0x1EC9),
                     array(0=>0x1ECB, 1=>0x1ECB),
                     array(0=>0x1ECD, 1=>0x1ECD),
                     array(0=>0x1ECF, 1=>0x1ECF),
                     array(0=>0x1ED1, 1=>0x1ED1),
                     array(0=>0x1ED3, 1=>0x1ED3),
                     array(0=>0x1ED5, 1=>0x1ED5),
                     array(0=>0x1ED7, 1=>0x1ED7),
                     array(0=>0x1ED9, 1=>0x1ED9),
                     array(0=>0x1EDB, 1=>0x1EDB),
                     array(0=>0x1EDD, 1=>0x1EDD),
                     array(0=>0x1EDF, 1=>0x1EDF),
                     array(0=>0x1EE1, 1=>0x1EE1),
                     array(0=>0x1EE3, 1=>0x1EE3),
                     array(0=>0x1EE5, 1=>0x1EE5),
                     array(0=>0x1EE7, 1=>0x1EE7),
                     array(0=>0x1EE9, 1=>0x1EE9),
                     array(0=>0x1EEB, 1=>0x1EEB),
                     array(0=>0x1EED, 1=>0x1EED),
                     array(0=>0x1EEF, 1=>0x1EEF),
                     array(0=>0x1EF1, 1=>0x1EF1),
                     array(0=>0x1EF3, 1=>0x1EF3),
                     array(0=>0x1EF5, 1=>0x1EF5),
                     array(0=>0x1EF7, 1=>0x1EF7),
                     array(0=>0x1EF9, 1=>0x1EF9),
                     array(0=>0x1EFB, 1=>0x1EFB),
                     array(0=>0x1EFD, 1=>0x1EFD),
                     array(0=>0x1EFF, 1=>0x1F07),
                     array(0=>0x1F10, 1=>0x1F15),
                     array(0=>0x1F20, 1=>0x1F27),
                     array(0=>0x1F30, 1=>0x1F37),
                     array(0=>0x1F40, 1=>0x1F45),
                     array(0=>0x1F50, 1=>0x1F57),
                     array(0=>0x1F60, 1=>0x1F67),
                     array(0=>0x1F70, 1=>0x1F7D),
                     array(0=>0x1F80, 1=>0x1F87),
                     array(0=>0x1F90, 1=>0x1F97),
                     array(0=>0x1FA0, 1=>0x1FA7),
                     array(0=>0x1FB0, 1=>0x1FB4),
                     array(0=>0x1FB6, 1=>0x1FB7),
                     array(0=>0x1FBE, 1=>0x1FBE),
                     array(0=>0x1FC2, 1=>0x1FC4),
                     array(0=>0x1FC6, 1=>0x1FC7),
                     array(0=>0x1FD0, 1=>0x1FD3),
                     array(0=>0x1FD6, 1=>0x1FD7),
                     array(0=>0x1FE0, 1=>0x1FE7),
                     array(0=>0x1FF2, 1=>0x1FF4),
                     array(0=>0x1FF6, 1=>0x1FF7),
                     array(0=>0x210A, 1=>0x210A),
                     array(0=>0x210E, 1=>0x210F),
                     array(0=>0x2113, 1=>0x2113),
                     array(0=>0x212F, 1=>0x212F),
                     array(0=>0x2134, 1=>0x2134),
                     array(0=>0x2139, 1=>0x2139),
                     array(0=>0x213C, 1=>0x213D),
                     array(0=>0x2146, 1=>0x2149),
                     array(0=>0x214E, 1=>0x214E),
                     array(0=>0x2184, 1=>0x2184),
                     array(0=>0x2C30, 1=>0x2C5E),
                     array(0=>0x2C61, 1=>0x2C61),
                     array(0=>0x2C65, 1=>0x2C66),
                     array(0=>0x2C68, 1=>0x2C68),
                     array(0=>0x2C6A, 1=>0x2C6A),
                     array(0=>0x2C6C, 1=>0x2C6C),
                     array(0=>0x2C71, 1=>0x2C71),
                     array(0=>0x2C73, 1=>0x2C74),
                     array(0=>0x2C76, 1=>0x2C7B),
                     array(0=>0x2C81, 1=>0x2C81),
                     array(0=>0x2C83, 1=>0x2C83),
                     array(0=>0x2C85, 1=>0x2C85),
                     array(0=>0x2C87, 1=>0x2C87),
                     array(0=>0x2C89, 1=>0x2C89),
                     array(0=>0x2C8B, 1=>0x2C8B),
                     array(0=>0x2C8D, 1=>0x2C8D),
                     array(0=>0x2C8F, 1=>0x2C8F),
                     array(0=>0x2C91, 1=>0x2C91),
                     array(0=>0x2C93, 1=>0x2C93),
                     array(0=>0x2C95, 1=>0x2C95),
                     array(0=>0x2C97, 1=>0x2C97),
                     array(0=>0x2C99, 1=>0x2C99),
                     array(0=>0x2C9B, 1=>0x2C9B),
                     array(0=>0x2C9D, 1=>0x2C9D),
                     array(0=>0x2C9F, 1=>0x2C9F),
                     array(0=>0x2CA1, 1=>0x2CA1),
                     array(0=>0x2CA3, 1=>0x2CA3),
                     array(0=>0x2CA5, 1=>0x2CA5),
                     array(0=>0x2CA7, 1=>0x2CA7),
                     array(0=>0x2CA9, 1=>0x2CA9),
                     array(0=>0x2CAB, 1=>0x2CAB),
                     array(0=>0x2CAD, 1=>0x2CAD),
                     array(0=>0x2CAF, 1=>0x2CAF),
                     array(0=>0x2CB1, 1=>0x2CB1),
                     array(0=>0x2CB3, 1=>0x2CB3),
                     array(0=>0x2CB5, 1=>0x2CB5),
                     array(0=>0x2CB7, 1=>0x2CB7),
                     array(0=>0x2CB9, 1=>0x2CB9),
                     array(0=>0x2CBB, 1=>0x2CBB),
                     array(0=>0x2CBD, 1=>0x2CBD),
                     array(0=>0x2CBF, 1=>0x2CBF),
                     array(0=>0x2CC1, 1=>0x2CC1),
                     array(0=>0x2CC3, 1=>0x2CC3),
                     array(0=>0x2CC5, 1=>0x2CC5),
                     array(0=>0x2CC7, 1=>0x2CC7),
                     array(0=>0x2CC9, 1=>0x2CC9),
                     array(0=>0x2CCB, 1=>0x2CCB),
                     array(0=>0x2CCD, 1=>0x2CCD),
                     array(0=>0x2CCF, 1=>0x2CCF),
                     array(0=>0x2CD1, 1=>0x2CD1),
                     array(0=>0x2CD3, 1=>0x2CD3),
                     array(0=>0x2CD5, 1=>0x2CD5),
                     array(0=>0x2CD7, 1=>0x2CD7),
                     array(0=>0x2CD9, 1=>0x2CD9),
                     array(0=>0x2CDB, 1=>0x2CDB),
                     array(0=>0x2CDD, 1=>0x2CDD),
                     array(0=>0x2CDF, 1=>0x2CDF),
                     array(0=>0x2CE1, 1=>0x2CE1),
                     array(0=>0x2CE3, 1=>0x2CE4),
                     array(0=>0x2CEC, 1=>0x2CEC),
                     array(0=>0x2CEE, 1=>0x2CEE),
                     array(0=>0x2CF3, 1=>0x2CF3),
                     array(0=>0x2D00, 1=>0x2D25),
                     array(0=>0x2D27, 1=>0x2D27),
                     array(0=>0x2D2D, 1=>0x2D2D),
                     array(0=>0xA641, 1=>0xA641),
                     array(0=>0xA643, 1=>0xA643),
                     array(0=>0xA645, 1=>0xA645),
                     array(0=>0xA647, 1=>0xA647),
                     array(0=>0xA649, 1=>0xA649),
                     array(0=>0xA64B, 1=>0xA64B),
                     array(0=>0xA64D, 1=>0xA64D),
                     array(0=>0xA64F, 1=>0xA64F),
                     array(0=>0xA651, 1=>0xA651),
                     array(0=>0xA653, 1=>0xA653),
                     array(0=>0xA655, 1=>0xA655),
                     array(0=>0xA657, 1=>0xA657),
                     array(0=>0xA659, 1=>0xA659),
                     array(0=>0xA65B, 1=>0xA65B),
                     array(0=>0xA65D, 1=>0xA65D),
                     array(0=>0xA65F, 1=>0xA65F),
                     array(0=>0xA661, 1=>0xA661),
                     array(0=>0xA663, 1=>0xA663),
                     array(0=>0xA665, 1=>0xA665),
                     array(0=>0xA667, 1=>0xA667),
                     array(0=>0xA669, 1=>0xA669),
                     array(0=>0xA66B, 1=>0xA66B),
                     array(0=>0xA66D, 1=>0xA66D),
                     array(0=>0xA681, 1=>0xA681),
                     array(0=>0xA683, 1=>0xA683),
                     array(0=>0xA685, 1=>0xA685),
                     array(0=>0xA687, 1=>0xA687),
                     array(0=>0xA689, 1=>0xA689),
                     array(0=>0xA68B, 1=>0xA68B),
                     array(0=>0xA68D, 1=>0xA68D),
                     array(0=>0xA68F, 1=>0xA68F),
                     array(0=>0xA691, 1=>0xA691),
                     array(0=>0xA693, 1=>0xA693),
                     array(0=>0xA695, 1=>0xA695),
                     array(0=>0xA697, 1=>0xA697),
                     array(0=>0xA723, 1=>0xA723),
                     array(0=>0xA725, 1=>0xA725),
                     array(0=>0xA727, 1=>0xA727),
                     array(0=>0xA729, 1=>0xA729),
                     array(0=>0xA72B, 1=>0xA72B),
                     array(0=>0xA72D, 1=>0xA72D),
                     array(0=>0xA72F, 1=>0xA731),
                     array(0=>0xA733, 1=>0xA733),
                     array(0=>0xA735, 1=>0xA735),
                     array(0=>0xA737, 1=>0xA737),
                     array(0=>0xA739, 1=>0xA739),
                     array(0=>0xA73B, 1=>0xA73B),
                     array(0=>0xA73D, 1=>0xA73D),
                     array(0=>0xA73F, 1=>0xA73F),
                     array(0=>0xA741, 1=>0xA741),
                     array(0=>0xA743, 1=>0xA743),
                     array(0=>0xA745, 1=>0xA745),
                     array(0=>0xA747, 1=>0xA747),
                     array(0=>0xA749, 1=>0xA749),
                     array(0=>0xA74B, 1=>0xA74B),
                     array(0=>0xA74D, 1=>0xA74D),
                     array(0=>0xA74F, 1=>0xA74F),
                     array(0=>0xA751, 1=>0xA751),
                     array(0=>0xA753, 1=>0xA753),
                     array(0=>0xA755, 1=>0xA755),
                     array(0=>0xA757, 1=>0xA757),
                     array(0=>0xA759, 1=>0xA759),
                     array(0=>0xA75B, 1=>0xA75B),
                     array(0=>0xA75D, 1=>0xA75D),
                     array(0=>0xA75F, 1=>0xA75F),
                     array(0=>0xA761, 1=>0xA761),
                     array(0=>0xA763, 1=>0xA763),
                     array(0=>0xA765, 1=>0xA765),
                     array(0=>0xA767, 1=>0xA767),
                     array(0=>0xA769, 1=>0xA769),
                     array(0=>0xA76B, 1=>0xA76B),
                     array(0=>0xA76D, 1=>0xA76D),
                     array(0=>0xA76F, 1=>0xA76F),
                     array(0=>0xA771, 1=>0xA778),
                     array(0=>0xA77A, 1=>0xA77A),
                     array(0=>0xA77C, 1=>0xA77C),
                     array(0=>0xA77F, 1=>0xA77F),
                     array(0=>0xA781, 1=>0xA781),
                     array(0=>0xA783, 1=>0xA783),
                     array(0=>0xA785, 1=>0xA785),
                     array(0=>0xA787, 1=>0xA787),
                     array(0=>0xA78C, 1=>0xA78C),
                     array(0=>0xA78E, 1=>0xA78E),
                     array(0=>0xA791, 1=>0xA791),
                     array(0=>0xA793, 1=>0xA793),
                     array(0=>0xA7A1, 1=>0xA7A1),
                     array(0=>0xA7A3, 1=>0xA7A3),
                     array(0=>0xA7A5, 1=>0xA7A5),
                     array(0=>0xA7A7, 1=>0xA7A7),
                     array(0=>0xA7A9, 1=>0xA7A9),
                     array(0=>0xA7FA, 1=>0xA7FA),
                     array(0=>0xFB00, 1=>0xFB06),
                     array(0=>0xFB13, 1=>0xFB17),
                     array(0=>0xFF41, 1=>0xFF5A),
                     array(0=>0x10428, 1=>0x1044F),
                     array(0=>0x1D41A, 1=>0x1D433),
                     array(0=>0x1D44E, 1=>0x1D454),
                     array(0=>0x1D456, 1=>0x1D467),
                     array(0=>0x1D482, 1=>0x1D49B),
                     array(0=>0x1D4B6, 1=>0x1D4B9),
                     array(0=>0x1D4BB, 1=>0x1D4BB),
                     array(0=>0x1D4BD, 1=>0x1D4C3),
                     array(0=>0x1D4C5, 1=>0x1D4CF),
                     array(0=>0x1D4EA, 1=>0x1D503),
                     array(0=>0x1D51E, 1=>0x1D537),
                     array(0=>0x1D552, 1=>0x1D56B),
                     array(0=>0x1D586, 1=>0x1D59F),
                     array(0=>0x1D5BA, 1=>0x1D5D3),
                     array(0=>0x1D5EE, 1=>0x1D607),
                     array(0=>0x1D622, 1=>0x1D63B),
                     array(0=>0x1D656, 1=>0x1D66F),
                     array(0=>0x1D68A, 1=>0x1D6A5),
                     array(0=>0x1D6C2, 1=>0x1D6DA),
                     array(0=>0x1D6DC, 1=>0x1D6E1),
                     array(0=>0x1D6FC, 1=>0x1D714),
                     array(0=>0x1D716, 1=>0x1D71B),
                     array(0=>0x1D736, 1=>0x1D74E),
                     array(0=>0x1D750, 1=>0x1D755),
                     array(0=>0x1D770, 1=>0x1D788),
                     array(0=>0x1D78A, 1=>0x1D78F),
                     array(0=>0x1D7AA, 1=>0x1D7C2),
                     array(0=>0x1D7C4, 1=>0x1D7C9),
                     array(0=>0x1D7CB, 1=>0x1D7CB));
    }

    public static function Lm_ranges() {
        return array(array(0=>0x02B0, 1=>0x02C1),
                     array(0=>0x02C6, 1=>0x02D1),
                     array(0=>0x02E0, 1=>0x02E4),
                     array(0=>0x02EC, 1=>0x02EC),
                     array(0=>0x02EE, 1=>0x02EE),
                     array(0=>0x0374, 1=>0x0374),
                     array(0=>0x037A, 1=>0x037A),
                     array(0=>0x0559, 1=>0x0559),
                     array(0=>0x0640, 1=>0x0640),
                     array(0=>0x06E5, 1=>0x06E6),
                     array(0=>0x07F4, 1=>0x07F5),
                     array(0=>0x07FA, 1=>0x07FA),
                     array(0=>0x081A, 1=>0x081A),
                     array(0=>0x0824, 1=>0x0824),
                     array(0=>0x0828, 1=>0x0828),
                     array(0=>0x0971, 1=>0x0971),
                     array(0=>0x0E46, 1=>0x0E46),
                     array(0=>0x0EC6, 1=>0x0EC6),
                     array(0=>0x10FC, 1=>0x10FC),
                     array(0=>0x17D7, 1=>0x17D7),
                     array(0=>0x1843, 1=>0x1843),
                     array(0=>0x1AA7, 1=>0x1AA7),
                     array(0=>0x1C78, 1=>0x1C7D),
                     array(0=>0x1D2C, 1=>0x1D6A),
                     array(0=>0x1D78, 1=>0x1D78),
                     array(0=>0x1D9B, 1=>0x1DBF),
                     array(0=>0x2071, 1=>0x2071),
                     array(0=>0x207F, 1=>0x207F),
                     array(0=>0x2090, 1=>0x209C),
                     array(0=>0x2C7C, 1=>0x2C7D),
                     array(0=>0x2D6F, 1=>0x2D6F),
                     array(0=>0x2E2F, 1=>0x2E2F),
                     array(0=>0x3005, 1=>0x3005),
                     array(0=>0x3031, 1=>0x3035),
                     array(0=>0x303B, 1=>0x303B),
                     array(0=>0x309D, 1=>0x309E),
                     array(0=>0x30FC, 1=>0x30FE),
                     array(0=>0xA015, 1=>0xA015),
                     array(0=>0xA4F8, 1=>0xA4FD),
                     array(0=>0xA60C, 1=>0xA60C),
                     array(0=>0xA67F, 1=>0xA67F),
                     array(0=>0xA717, 1=>0xA71F),
                     array(0=>0xA770, 1=>0xA770),
                     array(0=>0xA788, 1=>0xA788),
                     array(0=>0xA7F8, 1=>0xA7F9),
                     array(0=>0xA9CF, 1=>0xA9CF),
                     array(0=>0xAA70, 1=>0xAA70),
                     array(0=>0xAADD, 1=>0xAADD),
                     array(0=>0xAAF3, 1=>0xAAF4),
                     array(0=>0xFF70, 1=>0xFF70),
                     array(0=>0xFF9E, 1=>0xFF9F),
                     array(0=>0x16F93, 1=>0x16F9F));
    }

    public static function Lo_ranges() {
        return array(array(0=>0x00AA, 1=>0x00AA),
                     array(0=>0x00BA, 1=>0x00BA),
                     array(0=>0x01BB, 1=>0x01BB),
                     array(0=>0x01C0, 1=>0x01C3),
                     array(0=>0x0294, 1=>0x0294),
                     array(0=>0x05D0, 1=>0x05EA),
                     array(0=>0x05F0, 1=>0x05F2),
                     array(0=>0x0620, 1=>0x063F),
                     array(0=>0x0641, 1=>0x064A),
                     array(0=>0x066E, 1=>0x066F),
                     array(0=>0x0671, 1=>0x06D3),
                     array(0=>0x06D5, 1=>0x06D5),
                     array(0=>0x06EE, 1=>0x06EF),
                     array(0=>0x06FA, 1=>0x06FC),
                     array(0=>0x06FF, 1=>0x06FF),
                     array(0=>0x0710, 1=>0x0710),
                     array(0=>0x0712, 1=>0x072F),
                     array(0=>0x074D, 1=>0x07A5),
                     array(0=>0x07B1, 1=>0x07B1),
                     array(0=>0x07CA, 1=>0x07EA),
                     array(0=>0x0800, 1=>0x0815),
                     array(0=>0x0840, 1=>0x0858),
                     array(0=>0x08A0, 1=>0x08A0),
                     array(0=>0x08A2, 1=>0x08AC),
                     array(0=>0x0904, 1=>0x0939),
                     array(0=>0x093D, 1=>0x093D),
                     array(0=>0x0950, 1=>0x0950),
                     array(0=>0x0958, 1=>0x0961),
                     array(0=>0x0972, 1=>0x0977),
                     array(0=>0x0979, 1=>0x097F),
                     array(0=>0x0985, 1=>0x098C),
                     array(0=>0x098F, 1=>0x0990),
                     array(0=>0x0993, 1=>0x09A8),
                     array(0=>0x09AA, 1=>0x09B0),
                     array(0=>0x09B2, 1=>0x09B2),
                     array(0=>0x09B6, 1=>0x09B9),
                     array(0=>0x09BD, 1=>0x09BD),
                     array(0=>0x09CE, 1=>0x09CE),
                     array(0=>0x09DC, 1=>0x09DD),
                     array(0=>0x09DF, 1=>0x09E1),
                     array(0=>0x09F0, 1=>0x09F1),
                     array(0=>0x0A05, 1=>0x0A0A),
                     array(0=>0x0A0F, 1=>0x0A10),
                     array(0=>0x0A13, 1=>0x0A28),
                     array(0=>0x0A2A, 1=>0x0A30),
                     array(0=>0x0A32, 1=>0x0A33),
                     array(0=>0x0A35, 1=>0x0A36),
                     array(0=>0x0A38, 1=>0x0A39),
                     array(0=>0x0A59, 1=>0x0A5C),
                     array(0=>0x0A5E, 1=>0x0A5E),
                     array(0=>0x0A72, 1=>0x0A74),
                     array(0=>0x0A85, 1=>0x0A8D),
                     array(0=>0x0A8F, 1=>0x0A91),
                     array(0=>0x0A93, 1=>0x0AA8),
                     array(0=>0x0AAA, 1=>0x0AB0),
                     array(0=>0x0AB2, 1=>0x0AB3),
                     array(0=>0x0AB5, 1=>0x0AB9),
                     array(0=>0x0ABD, 1=>0x0ABD),
                     array(0=>0x0AD0, 1=>0x0AD0),
                     array(0=>0x0AE0, 1=>0x0AE1),
                     array(0=>0x0B05, 1=>0x0B0C),
                     array(0=>0x0B0F, 1=>0x0B10),
                     array(0=>0x0B13, 1=>0x0B28),
                     array(0=>0x0B2A, 1=>0x0B30),
                     array(0=>0x0B32, 1=>0x0B33),
                     array(0=>0x0B35, 1=>0x0B39),
                     array(0=>0x0B3D, 1=>0x0B3D),
                     array(0=>0x0B5C, 1=>0x0B5D),
                     array(0=>0x0B5F, 1=>0x0B61),
                     array(0=>0x0B71, 1=>0x0B71),
                     array(0=>0x0B83, 1=>0x0B83),
                     array(0=>0x0B85, 1=>0x0B8A),
                     array(0=>0x0B8E, 1=>0x0B90),
                     array(0=>0x0B92, 1=>0x0B95),
                     array(0=>0x0B99, 1=>0x0B9A),
                     array(0=>0x0B9C, 1=>0x0B9C),
                     array(0=>0x0B9E, 1=>0x0B9F),
                     array(0=>0x0BA3, 1=>0x0BA4),
                     array(0=>0x0BA8, 1=>0x0BAA),
                     array(0=>0x0BAE, 1=>0x0BB9),
                     array(0=>0x0BD0, 1=>0x0BD0),
                     array(0=>0x0C05, 1=>0x0C0C),
                     array(0=>0x0C0E, 1=>0x0C10),
                     array(0=>0x0C12, 1=>0x0C28),
                     array(0=>0x0C2A, 1=>0x0C33),
                     array(0=>0x0C35, 1=>0x0C39),
                     array(0=>0x0C3D, 1=>0x0C3D),
                     array(0=>0x0C58, 1=>0x0C59),
                     array(0=>0x0C60, 1=>0x0C61),
                     array(0=>0x0C85, 1=>0x0C8C),
                     array(0=>0x0C8E, 1=>0x0C90),
                     array(0=>0x0C92, 1=>0x0CA8),
                     array(0=>0x0CAA, 1=>0x0CB3),
                     array(0=>0x0CB5, 1=>0x0CB9),
                     array(0=>0x0CBD, 1=>0x0CBD),
                     array(0=>0x0CDE, 1=>0x0CDE),
                     array(0=>0x0CE0, 1=>0x0CE1),
                     array(0=>0x0CF1, 1=>0x0CF2),
                     array(0=>0x0D05, 1=>0x0D0C),
                     array(0=>0x0D0E, 1=>0x0D10),
                     array(0=>0x0D12, 1=>0x0D3A),
                     array(0=>0x0D3D, 1=>0x0D3D),
                     array(0=>0x0D4E, 1=>0x0D4E),
                     array(0=>0x0D60, 1=>0x0D61),
                     array(0=>0x0D7A, 1=>0x0D7F),
                     array(0=>0x0D85, 1=>0x0D96),
                     array(0=>0x0D9A, 1=>0x0DB1),
                     array(0=>0x0DB3, 1=>0x0DBB),
                     array(0=>0x0DBD, 1=>0x0DBD),
                     array(0=>0x0DC0, 1=>0x0DC6),
                     array(0=>0x0E01, 1=>0x0E30),
                     array(0=>0x0E32, 1=>0x0E33),
                     array(0=>0x0E40, 1=>0x0E45),
                     array(0=>0x0E81, 1=>0x0E82),
                     array(0=>0x0E84, 1=>0x0E84),
                     array(0=>0x0E87, 1=>0x0E88),
                     array(0=>0x0E8A, 1=>0x0E8A),
                     array(0=>0x0E8D, 1=>0x0E8D),
                     array(0=>0x0E94, 1=>0x0E97),
                     array(0=>0x0E99, 1=>0x0E9F),
                     array(0=>0x0EA1, 1=>0x0EA3),
                     array(0=>0x0EA5, 1=>0x0EA5),
                     array(0=>0x0EA7, 1=>0x0EA7),
                     array(0=>0x0EAA, 1=>0x0EAB),
                     array(0=>0x0EAD, 1=>0x0EB0),
                     array(0=>0x0EB2, 1=>0x0EB3),
                     array(0=>0x0EBD, 1=>0x0EBD),
                     array(0=>0x0EC0, 1=>0x0EC4),
                     array(0=>0x0EDC, 1=>0x0EDF),
                     array(0=>0x0F00, 1=>0x0F00),
                     array(0=>0x0F40, 1=>0x0F47),
                     array(0=>0x0F49, 1=>0x0F6C),
                     array(0=>0x0F88, 1=>0x0F8C),
                     array(0=>0x1000, 1=>0x102A),
                     array(0=>0x103F, 1=>0x103F),
                     array(0=>0x1050, 1=>0x1055),
                     array(0=>0x105A, 1=>0x105D),
                     array(0=>0x1061, 1=>0x1061),
                     array(0=>0x1065, 1=>0x1066),
                     array(0=>0x106E, 1=>0x1070),
                     array(0=>0x1075, 1=>0x1081),
                     array(0=>0x108E, 1=>0x108E),
                     array(0=>0x10D0, 1=>0x10FA),
                     array(0=>0x10FD, 1=>0x1248),
                     array(0=>0x124A, 1=>0x124D),
                     array(0=>0x1250, 1=>0x1256),
                     array(0=>0x1258, 1=>0x1258),
                     array(0=>0x125A, 1=>0x125D),
                     array(0=>0x1260, 1=>0x1288),
                     array(0=>0x128A, 1=>0x128D),
                     array(0=>0x1290, 1=>0x12B0),
                     array(0=>0x12B2, 1=>0x12B5),
                     array(0=>0x12B8, 1=>0x12BE),
                     array(0=>0x12C0, 1=>0x12C0),
                     array(0=>0x12C2, 1=>0x12C5),
                     array(0=>0x12C8, 1=>0x12D6),
                     array(0=>0x12D8, 1=>0x1310),
                     array(0=>0x1312, 1=>0x1315),
                     array(0=>0x1318, 1=>0x135A),
                     array(0=>0x1380, 1=>0x138F),
                     array(0=>0x13A0, 1=>0x13F4),
                     array(0=>0x1401, 1=>0x166C),
                     array(0=>0x166F, 1=>0x167F),
                     array(0=>0x1681, 1=>0x169A),
                     array(0=>0x16A0, 1=>0x16EA),
                     array(0=>0x1700, 1=>0x170C),
                     array(0=>0x170E, 1=>0x1711),
                     array(0=>0x1720, 1=>0x1731),
                     array(0=>0x1740, 1=>0x1751),
                     array(0=>0x1760, 1=>0x176C),
                     array(0=>0x176E, 1=>0x1770),
                     array(0=>0x1780, 1=>0x17B3),
                     array(0=>0x17DC, 1=>0x17DC),
                     array(0=>0x1820, 1=>0x1842),
                     array(0=>0x1844, 1=>0x1877),
                     array(0=>0x1880, 1=>0x18A8),
                     array(0=>0x18AA, 1=>0x18AA),
                     array(0=>0x18B0, 1=>0x18F5),
                     array(0=>0x1900, 1=>0x191C),
                     array(0=>0x1950, 1=>0x196D),
                     array(0=>0x1970, 1=>0x1974),
                     array(0=>0x1980, 1=>0x19AB),
                     array(0=>0x19C1, 1=>0x19C7),
                     array(0=>0x1A00, 1=>0x1A16),
                     array(0=>0x1A20, 1=>0x1A54),
                     array(0=>0x1B05, 1=>0x1B33),
                     array(0=>0x1B45, 1=>0x1B4B),
                     array(0=>0x1B83, 1=>0x1BA0),
                     array(0=>0x1BAE, 1=>0x1BAF),
                     array(0=>0x1BBA, 1=>0x1BE5),
                     array(0=>0x1C00, 1=>0x1C23),
                     array(0=>0x1C4D, 1=>0x1C4F),
                     array(0=>0x1C5A, 1=>0x1C77),
                     array(0=>0x1CE9, 1=>0x1CEC),
                     array(0=>0x1CEE, 1=>0x1CF1),
                     array(0=>0x1CF5, 1=>0x1CF6),
                     array(0=>0x2135, 1=>0x2138),
                     array(0=>0x2D30, 1=>0x2D67),
                     array(0=>0x2D80, 1=>0x2D96),
                     array(0=>0x2DA0, 1=>0x2DA6),
                     array(0=>0x2DA8, 1=>0x2DAE),
                     array(0=>0x2DB0, 1=>0x2DB6),
                     array(0=>0x2DB8, 1=>0x2DBE),
                     array(0=>0x2DC0, 1=>0x2DC6),
                     array(0=>0x2DC8, 1=>0x2DCE),
                     array(0=>0x2DD0, 1=>0x2DD6),
                     array(0=>0x2DD8, 1=>0x2DDE),
                     array(0=>0x3006, 1=>0x3006),
                     array(0=>0x303C, 1=>0x303C),
                     array(0=>0x3041, 1=>0x3096),
                     array(0=>0x309F, 1=>0x309F),
                     array(0=>0x30A1, 1=>0x30FA),
                     array(0=>0x30FF, 1=>0x30FF),
                     array(0=>0x3105, 1=>0x312D),
                     array(0=>0x3131, 1=>0x318E),
                     array(0=>0x31A0, 1=>0x31BA),
                     array(0=>0x31F0, 1=>0x31FF),
                     array(0=>0x3400, 1=>0x4DB5),
                     array(0=>0x4E00, 1=>0x9FCC),
                     array(0=>0xA000, 1=>0xA014),
                     array(0=>0xA016, 1=>0xA48C),
                     array(0=>0xA4D0, 1=>0xA4F7),
                     array(0=>0xA500, 1=>0xA60B),
                     array(0=>0xA610, 1=>0xA61F),
                     array(0=>0xA62A, 1=>0xA62B),
                     array(0=>0xA66E, 1=>0xA66E),
                     array(0=>0xA6A0, 1=>0xA6E5),
                     array(0=>0xA7FB, 1=>0xA801),
                     array(0=>0xA803, 1=>0xA805),
                     array(0=>0xA807, 1=>0xA80A),
                     array(0=>0xA80C, 1=>0xA822),
                     array(0=>0xA840, 1=>0xA873),
                     array(0=>0xA882, 1=>0xA8B3),
                     array(0=>0xA8F2, 1=>0xA8F7),
                     array(0=>0xA8FB, 1=>0xA8FB),
                     array(0=>0xA90A, 1=>0xA925),
                     array(0=>0xA930, 1=>0xA946),
                     array(0=>0xA960, 1=>0xA97C),
                     array(0=>0xA984, 1=>0xA9B2),
                     array(0=>0xAA00, 1=>0xAA28),
                     array(0=>0xAA40, 1=>0xAA42),
                     array(0=>0xAA44, 1=>0xAA4B),
                     array(0=>0xAA60, 1=>0xAA6F),
                     array(0=>0xAA71, 1=>0xAA76),
                     array(0=>0xAA7A, 1=>0xAA7A),
                     array(0=>0xAA80, 1=>0xAAAF),
                     array(0=>0xAAB1, 1=>0xAAB1),
                     array(0=>0xAAB5, 1=>0xAAB6),
                     array(0=>0xAAB9, 1=>0xAABD),
                     array(0=>0xAAC0, 1=>0xAAC0),
                     array(0=>0xAAC2, 1=>0xAAC2),
                     array(0=>0xAADB, 1=>0xAADC),
                     array(0=>0xAAE0, 1=>0xAAEA),
                     array(0=>0xAAF2, 1=>0xAAF2),
                     array(0=>0xAB01, 1=>0xAB06),
                     array(0=>0xAB09, 1=>0xAB0E),
                     array(0=>0xAB11, 1=>0xAB16),
                     array(0=>0xAB20, 1=>0xAB26),
                     array(0=>0xAB28, 1=>0xAB2E),
                     array(0=>0xABC0, 1=>0xABE2),
                     array(0=>0xAC00, 1=>0xD7A3),
                     array(0=>0xD7B0, 1=>0xD7C6),
                     array(0=>0xD7CB, 1=>0xD7FB),
                     array(0=>0xF900, 1=>0xFA6D),
                     array(0=>0xFA70, 1=>0xFAD9),
                     array(0=>0xFB1D, 1=>0xFB1D),
                     array(0=>0xFB1F, 1=>0xFB28),
                     array(0=>0xFB2A, 1=>0xFB36),
                     array(0=>0xFB38, 1=>0xFB3C),
                     array(0=>0xFB3E, 1=>0xFB3E),
                     array(0=>0xFB40, 1=>0xFB41),
                     array(0=>0xFB43, 1=>0xFB44),
                     array(0=>0xFB46, 1=>0xFBB1),
                     array(0=>0xFBD3, 1=>0xFD3D),
                     array(0=>0xFD50, 1=>0xFD8F),
                     array(0=>0xFD92, 1=>0xFDC7),
                     array(0=>0xFDF0, 1=>0xFDFB),
                     array(0=>0xFE70, 1=>0xFE74),
                     array(0=>0xFE76, 1=>0xFEFC),
                     array(0=>0xFF66, 1=>0xFF6F),
                     array(0=>0xFF71, 1=>0xFF9D),
                     array(0=>0xFFA0, 1=>0xFFBE),
                     array(0=>0xFFC2, 1=>0xFFC7),
                     array(0=>0xFFCA, 1=>0xFFCF),
                     array(0=>0xFFD2, 1=>0xFFD7),
                     array(0=>0xFFDA, 1=>0xFFDC),
                     array(0=>0x10000, 1=>0x1000B),
                     array(0=>0x1000D, 1=>0x10026),
                     array(0=>0x10028, 1=>0x1003A),
                     array(0=>0x1003C, 1=>0x1003D),
                     array(0=>0x1003F, 1=>0x1004D),
                     array(0=>0x10050, 1=>0x1005D),
                     array(0=>0x10080, 1=>0x100FA),
                     array(0=>0x10280, 1=>0x1029C),
                     array(0=>0x102A0, 1=>0x102D0),
                     array(0=>0x10300, 1=>0x1031E),
                     array(0=>0x10330, 1=>0x10340),
                     array(0=>0x10342, 1=>0x10349),
                     array(0=>0x10380, 1=>0x1039D),
                     array(0=>0x103A0, 1=>0x103C3),
                     array(0=>0x103C8, 1=>0x103CF),
                     array(0=>0x10450, 1=>0x1049D),
                     array(0=>0x10800, 1=>0x10805),
                     array(0=>0x10808, 1=>0x10808),
                     array(0=>0x1080A, 1=>0x10835),
                     array(0=>0x10837, 1=>0x10838),
                     array(0=>0x1083C, 1=>0x1083C),
                     array(0=>0x1083F, 1=>0x10855),
                     array(0=>0x10900, 1=>0x10915),
                     array(0=>0x10920, 1=>0x10939),
                     array(0=>0x10980, 1=>0x109B7),
                     array(0=>0x109BE, 1=>0x109BF),
                     array(0=>0x10A00, 1=>0x10A00),
                     array(0=>0x10A10, 1=>0x10A13),
                     array(0=>0x10A15, 1=>0x10A17),
                     array(0=>0x10A19, 1=>0x10A33),
                     array(0=>0x10A60, 1=>0x10A7C),
                     array(0=>0x10B00, 1=>0x10B35),
                     array(0=>0x10B40, 1=>0x10B55),
                     array(0=>0x10B60, 1=>0x10B72),
                     array(0=>0x10C00, 1=>0x10C48),
                     array(0=>0x11003, 1=>0x11037),
                     array(0=>0x11083, 1=>0x110AF),
                     array(0=>0x110D0, 1=>0x110E8),
                     array(0=>0x11103, 1=>0x11126),
                     array(0=>0x11183, 1=>0x111B2),
                     array(0=>0x111C1, 1=>0x111C4),
                     array(0=>0x11680, 1=>0x116AA),
                     array(0=>0x12000, 1=>0x1236E),
                     array(0=>0x13000, 1=>0x1342E),
                     array(0=>0x16800, 1=>0x16A38),
                     array(0=>0x16F00, 1=>0x16F44),
                     array(0=>0x16F50, 1=>0x16F50),
                     array(0=>0x1B000, 1=>0x1B001),
                     array(0=>0x1EE00, 1=>0x1EE03),
                     array(0=>0x1EE05, 1=>0x1EE1F),
                     array(0=>0x1EE21, 1=>0x1EE22),
                     array(0=>0x1EE24, 1=>0x1EE24),
                     array(0=>0x1EE27, 1=>0x1EE27),
                     array(0=>0x1EE29, 1=>0x1EE32),
                     array(0=>0x1EE34, 1=>0x1EE37),
                     array(0=>0x1EE39, 1=>0x1EE39),
                     array(0=>0x1EE3B, 1=>0x1EE3B),
                     array(0=>0x1EE42, 1=>0x1EE42),
                     array(0=>0x1EE47, 1=>0x1EE47),
                     array(0=>0x1EE49, 1=>0x1EE49),
                     array(0=>0x1EE4B, 1=>0x1EE4B),
                     array(0=>0x1EE4D, 1=>0x1EE4F),
                     array(0=>0x1EE51, 1=>0x1EE52),
                     array(0=>0x1EE54, 1=>0x1EE54),
                     array(0=>0x1EE57, 1=>0x1EE57),
                     array(0=>0x1EE59, 1=>0x1EE59),
                     array(0=>0x1EE5B, 1=>0x1EE5B),
                     array(0=>0x1EE5D, 1=>0x1EE5D),
                     array(0=>0x1EE5F, 1=>0x1EE5F),
                     array(0=>0x1EE61, 1=>0x1EE62),
                     array(0=>0x1EE64, 1=>0x1EE64),
                     array(0=>0x1EE67, 1=>0x1EE6A),
                     array(0=>0x1EE6C, 1=>0x1EE72),
                     array(0=>0x1EE74, 1=>0x1EE77),
                     array(0=>0x1EE79, 1=>0x1EE7C),
                     array(0=>0x1EE7E, 1=>0x1EE7E),
                     array(0=>0x1EE80, 1=>0x1EE89),
                     array(0=>0x1EE8B, 1=>0x1EE9B),
                     array(0=>0x1EEA1, 1=>0x1EEA3),
                     array(0=>0x1EEA5, 1=>0x1EEA9),
                     array(0=>0x1EEAB, 1=>0x1EEBB),
                     array(0=>0x20000, 1=>0x2A6D6),
                     array(0=>0x2A700, 1=>0x2B734),
                     array(0=>0x2B740, 1=>0x2B81D),
                     array(0=>0x2F800, 1=>0x2FA1D));
    }

    public static function Lt_ranges() {
        return array(array(0=>0x01C5, 1=>0x01C5),
                     array(0=>0x01C8, 1=>0x01C8),
                     array(0=>0x01CB, 1=>0x01CB),
                     array(0=>0x01F2, 1=>0x01F2),
                     array(0=>0x1F88, 1=>0x1F8F),
                     array(0=>0x1F98, 1=>0x1F9F),
                     array(0=>0x1FA8, 1=>0x1FAF),
                     array(0=>0x1FBC, 1=>0x1FBC),
                     array(0=>0x1FCC, 1=>0x1FCC),
                     array(0=>0x1FFC, 1=>0x1FFC));
    }

    public static function Lu_ranges() {
        return array(array(0=>0x0041, 1=>0x005A),
                     array(0=>0x00C0, 1=>0x00D6),
                     array(0=>0x00D8, 1=>0x00DE),
                     array(0=>0x0100, 1=>0x0100),
                     array(0=>0x0102, 1=>0x0102),
                     array(0=>0x0104, 1=>0x0104),
                     array(0=>0x0106, 1=>0x0106),
                     array(0=>0x0108, 1=>0x0108),
                     array(0=>0x010A, 1=>0x010A),
                     array(0=>0x010C, 1=>0x010C),
                     array(0=>0x010E, 1=>0x010E),
                     array(0=>0x0110, 1=>0x0110),
                     array(0=>0x0112, 1=>0x0112),
                     array(0=>0x0114, 1=>0x0114),
                     array(0=>0x0116, 1=>0x0116),
                     array(0=>0x0118, 1=>0x0118),
                     array(0=>0x011A, 1=>0x011A),
                     array(0=>0x011C, 1=>0x011C),
                     array(0=>0x011E, 1=>0x011E),
                     array(0=>0x0120, 1=>0x0120),
                     array(0=>0x0122, 1=>0x0122),
                     array(0=>0x0124, 1=>0x0124),
                     array(0=>0x0126, 1=>0x0126),
                     array(0=>0x0128, 1=>0x0128),
                     array(0=>0x012A, 1=>0x012A),
                     array(0=>0x012C, 1=>0x012C),
                     array(0=>0x012E, 1=>0x012E),
                     array(0=>0x0130, 1=>0x0130),
                     array(0=>0x0132, 1=>0x0132),
                     array(0=>0x0134, 1=>0x0134),
                     array(0=>0x0136, 1=>0x0136),
                     array(0=>0x0139, 1=>0x0139),
                     array(0=>0x013B, 1=>0x013B),
                     array(0=>0x013D, 1=>0x013D),
                     array(0=>0x013F, 1=>0x013F),
                     array(0=>0x0141, 1=>0x0141),
                     array(0=>0x0143, 1=>0x0143),
                     array(0=>0x0145, 1=>0x0145),
                     array(0=>0x0147, 1=>0x0147),
                     array(0=>0x014A, 1=>0x014A),
                     array(0=>0x014C, 1=>0x014C),
                     array(0=>0x014E, 1=>0x014E),
                     array(0=>0x0150, 1=>0x0150),
                     array(0=>0x0152, 1=>0x0152),
                     array(0=>0x0154, 1=>0x0154),
                     array(0=>0x0156, 1=>0x0156),
                     array(0=>0x0158, 1=>0x0158),
                     array(0=>0x015A, 1=>0x015A),
                     array(0=>0x015C, 1=>0x015C),
                     array(0=>0x015E, 1=>0x015E),
                     array(0=>0x0160, 1=>0x0160),
                     array(0=>0x0162, 1=>0x0162),
                     array(0=>0x0164, 1=>0x0164),
                     array(0=>0x0166, 1=>0x0166),
                     array(0=>0x0168, 1=>0x0168),
                     array(0=>0x016A, 1=>0x016A),
                     array(0=>0x016C, 1=>0x016C),
                     array(0=>0x016E, 1=>0x016E),
                     array(0=>0x0170, 1=>0x0170),
                     array(0=>0x0172, 1=>0x0172),
                     array(0=>0x0174, 1=>0x0174),
                     array(0=>0x0176, 1=>0x0176),
                     array(0=>0x0178, 1=>0x0179),
                     array(0=>0x017B, 1=>0x017B),
                     array(0=>0x017D, 1=>0x017D),
                     array(0=>0x0181, 1=>0x0182),
                     array(0=>0x0184, 1=>0x0184),
                     array(0=>0x0186, 1=>0x0187),
                     array(0=>0x0189, 1=>0x018B),
                     array(0=>0x018E, 1=>0x0191),
                     array(0=>0x0193, 1=>0x0194),
                     array(0=>0x0196, 1=>0x0198),
                     array(0=>0x019C, 1=>0x019D),
                     array(0=>0x019F, 1=>0x01A0),
                     array(0=>0x01A2, 1=>0x01A2),
                     array(0=>0x01A4, 1=>0x01A4),
                     array(0=>0x01A6, 1=>0x01A7),
                     array(0=>0x01A9, 1=>0x01A9),
                     array(0=>0x01AC, 1=>0x01AC),
                     array(0=>0x01AE, 1=>0x01AF),
                     array(0=>0x01B1, 1=>0x01B3),
                     array(0=>0x01B5, 1=>0x01B5),
                     array(0=>0x01B7, 1=>0x01B8),
                     array(0=>0x01BC, 1=>0x01BC),
                     array(0=>0x01C4, 1=>0x01C4),
                     array(0=>0x01C7, 1=>0x01C7),
                     array(0=>0x01CA, 1=>0x01CA),
                     array(0=>0x01CD, 1=>0x01CD),
                     array(0=>0x01CF, 1=>0x01CF),
                     array(0=>0x01D1, 1=>0x01D1),
                     array(0=>0x01D3, 1=>0x01D3),
                     array(0=>0x01D5, 1=>0x01D5),
                     array(0=>0x01D7, 1=>0x01D7),
                     array(0=>0x01D9, 1=>0x01D9),
                     array(0=>0x01DB, 1=>0x01DB),
                     array(0=>0x01DE, 1=>0x01DE),
                     array(0=>0x01E0, 1=>0x01E0),
                     array(0=>0x01E2, 1=>0x01E2),
                     array(0=>0x01E4, 1=>0x01E4),
                     array(0=>0x01E6, 1=>0x01E6),
                     array(0=>0x01E8, 1=>0x01E8),
                     array(0=>0x01EA, 1=>0x01EA),
                     array(0=>0x01EC, 1=>0x01EC),
                     array(0=>0x01EE, 1=>0x01EE),
                     array(0=>0x01F1, 1=>0x01F1),
                     array(0=>0x01F4, 1=>0x01F4),
                     array(0=>0x01F6, 1=>0x01F8),
                     array(0=>0x01FA, 1=>0x01FA),
                     array(0=>0x01FC, 1=>0x01FC),
                     array(0=>0x01FE, 1=>0x01FE),
                     array(0=>0x0200, 1=>0x0200),
                     array(0=>0x0202, 1=>0x0202),
                     array(0=>0x0204, 1=>0x0204),
                     array(0=>0x0206, 1=>0x0206),
                     array(0=>0x0208, 1=>0x0208),
                     array(0=>0x020A, 1=>0x020A),
                     array(0=>0x020C, 1=>0x020C),
                     array(0=>0x020E, 1=>0x020E),
                     array(0=>0x0210, 1=>0x0210),
                     array(0=>0x0212, 1=>0x0212),
                     array(0=>0x0214, 1=>0x0214),
                     array(0=>0x0216, 1=>0x0216),
                     array(0=>0x0218, 1=>0x0218),
                     array(0=>0x021A, 1=>0x021A),
                     array(0=>0x021C, 1=>0x021C),
                     array(0=>0x021E, 1=>0x021E),
                     array(0=>0x0220, 1=>0x0220),
                     array(0=>0x0222, 1=>0x0222),
                     array(0=>0x0224, 1=>0x0224),
                     array(0=>0x0226, 1=>0x0226),
                     array(0=>0x0228, 1=>0x0228),
                     array(0=>0x022A, 1=>0x022A),
                     array(0=>0x022C, 1=>0x022C),
                     array(0=>0x022E, 1=>0x022E),
                     array(0=>0x0230, 1=>0x0230),
                     array(0=>0x0232, 1=>0x0232),
                     array(0=>0x023A, 1=>0x023B),
                     array(0=>0x023D, 1=>0x023E),
                     array(0=>0x0241, 1=>0x0241),
                     array(0=>0x0243, 1=>0x0246),
                     array(0=>0x0248, 1=>0x0248),
                     array(0=>0x024A, 1=>0x024A),
                     array(0=>0x024C, 1=>0x024C),
                     array(0=>0x024E, 1=>0x024E),
                     array(0=>0x0370, 1=>0x0370),
                     array(0=>0x0372, 1=>0x0372),
                     array(0=>0x0376, 1=>0x0376),
                     array(0=>0x0386, 1=>0x0386),
                     array(0=>0x0388, 1=>0x038A),
                     array(0=>0x038C, 1=>0x038C),
                     array(0=>0x038E, 1=>0x038F),
                     array(0=>0x0391, 1=>0x03A1),
                     array(0=>0x03A3, 1=>0x03AB),
                     array(0=>0x03CF, 1=>0x03CF),
                     array(0=>0x03D2, 1=>0x03D4),
                     array(0=>0x03D8, 1=>0x03D8),
                     array(0=>0x03DA, 1=>0x03DA),
                     array(0=>0x03DC, 1=>0x03DC),
                     array(0=>0x03DE, 1=>0x03DE),
                     array(0=>0x03E0, 1=>0x03E0),
                     array(0=>0x03E2, 1=>0x03E2),
                     array(0=>0x03E4, 1=>0x03E4),
                     array(0=>0x03E6, 1=>0x03E6),
                     array(0=>0x03E8, 1=>0x03E8),
                     array(0=>0x03EA, 1=>0x03EA),
                     array(0=>0x03EC, 1=>0x03EC),
                     array(0=>0x03EE, 1=>0x03EE),
                     array(0=>0x03F4, 1=>0x03F4),
                     array(0=>0x03F7, 1=>0x03F7),
                     array(0=>0x03F9, 1=>0x03FA),
                     array(0=>0x03FD, 1=>0x042F),
                     array(0=>0x0460, 1=>0x0460),
                     array(0=>0x0462, 1=>0x0462),
                     array(0=>0x0464, 1=>0x0464),
                     array(0=>0x0466, 1=>0x0466),
                     array(0=>0x0468, 1=>0x0468),
                     array(0=>0x046A, 1=>0x046A),
                     array(0=>0x046C, 1=>0x046C),
                     array(0=>0x046E, 1=>0x046E),
                     array(0=>0x0470, 1=>0x0470),
                     array(0=>0x0472, 1=>0x0472),
                     array(0=>0x0474, 1=>0x0474),
                     array(0=>0x0476, 1=>0x0476),
                     array(0=>0x0478, 1=>0x0478),
                     array(0=>0x047A, 1=>0x047A),
                     array(0=>0x047C, 1=>0x047C),
                     array(0=>0x047E, 1=>0x047E),
                     array(0=>0x0480, 1=>0x0480),
                     array(0=>0x048A, 1=>0x048A),
                     array(0=>0x048C, 1=>0x048C),
                     array(0=>0x048E, 1=>0x048E),
                     array(0=>0x0490, 1=>0x0490),
                     array(0=>0x0492, 1=>0x0492),
                     array(0=>0x0494, 1=>0x0494),
                     array(0=>0x0496, 1=>0x0496),
                     array(0=>0x0498, 1=>0x0498),
                     array(0=>0x049A, 1=>0x049A),
                     array(0=>0x049C, 1=>0x049C),
                     array(0=>0x049E, 1=>0x049E),
                     array(0=>0x04A0, 1=>0x04A0),
                     array(0=>0x04A2, 1=>0x04A2),
                     array(0=>0x04A4, 1=>0x04A4),
                     array(0=>0x04A6, 1=>0x04A6),
                     array(0=>0x04A8, 1=>0x04A8),
                     array(0=>0x04AA, 1=>0x04AA),
                     array(0=>0x04AC, 1=>0x04AC),
                     array(0=>0x04AE, 1=>0x04AE),
                     array(0=>0x04B0, 1=>0x04B0),
                     array(0=>0x04B2, 1=>0x04B2),
                     array(0=>0x04B4, 1=>0x04B4),
                     array(0=>0x04B6, 1=>0x04B6),
                     array(0=>0x04B8, 1=>0x04B8),
                     array(0=>0x04BA, 1=>0x04BA),
                     array(0=>0x04BC, 1=>0x04BC),
                     array(0=>0x04BE, 1=>0x04BE),
                     array(0=>0x04C0, 1=>0x04C1),
                     array(0=>0x04C3, 1=>0x04C3),
                     array(0=>0x04C5, 1=>0x04C5),
                     array(0=>0x04C7, 1=>0x04C7),
                     array(0=>0x04C9, 1=>0x04C9),
                     array(0=>0x04CB, 1=>0x04CB),
                     array(0=>0x04CD, 1=>0x04CD),
                     array(0=>0x04D0, 1=>0x04D0),
                     array(0=>0x04D2, 1=>0x04D2),
                     array(0=>0x04D4, 1=>0x04D4),
                     array(0=>0x04D6, 1=>0x04D6),
                     array(0=>0x04D8, 1=>0x04D8),
                     array(0=>0x04DA, 1=>0x04DA),
                     array(0=>0x04DC, 1=>0x04DC),
                     array(0=>0x04DE, 1=>0x04DE),
                     array(0=>0x04E0, 1=>0x04E0),
                     array(0=>0x04E2, 1=>0x04E2),
                     array(0=>0x04E4, 1=>0x04E4),
                     array(0=>0x04E6, 1=>0x04E6),
                     array(0=>0x04E8, 1=>0x04E8),
                     array(0=>0x04EA, 1=>0x04EA),
                     array(0=>0x04EC, 1=>0x04EC),
                     array(0=>0x04EE, 1=>0x04EE),
                     array(0=>0x04F0, 1=>0x04F0),
                     array(0=>0x04F2, 1=>0x04F2),
                     array(0=>0x04F4, 1=>0x04F4),
                     array(0=>0x04F6, 1=>0x04F6),
                     array(0=>0x04F8, 1=>0x04F8),
                     array(0=>0x04FA, 1=>0x04FA),
                     array(0=>0x04FC, 1=>0x04FC),
                     array(0=>0x04FE, 1=>0x04FE),
                     array(0=>0x0500, 1=>0x0500),
                     array(0=>0x0502, 1=>0x0502),
                     array(0=>0x0504, 1=>0x0504),
                     array(0=>0x0506, 1=>0x0506),
                     array(0=>0x0508, 1=>0x0508),
                     array(0=>0x050A, 1=>0x050A),
                     array(0=>0x050C, 1=>0x050C),
                     array(0=>0x050E, 1=>0x050E),
                     array(0=>0x0510, 1=>0x0510),
                     array(0=>0x0512, 1=>0x0512),
                     array(0=>0x0514, 1=>0x0514),
                     array(0=>0x0516, 1=>0x0516),
                     array(0=>0x0518, 1=>0x0518),
                     array(0=>0x051A, 1=>0x051A),
                     array(0=>0x051C, 1=>0x051C),
                     array(0=>0x051E, 1=>0x051E),
                     array(0=>0x0520, 1=>0x0520),
                     array(0=>0x0522, 1=>0x0522),
                     array(0=>0x0524, 1=>0x0524),
                     array(0=>0x0526, 1=>0x0526),
                     array(0=>0x0531, 1=>0x0556),
                     array(0=>0x10A0, 1=>0x10C5),
                     array(0=>0x10C7, 1=>0x10C7),
                     array(0=>0x10CD, 1=>0x10CD),
                     array(0=>0x1E00, 1=>0x1E00),
                     array(0=>0x1E02, 1=>0x1E02),
                     array(0=>0x1E04, 1=>0x1E04),
                     array(0=>0x1E06, 1=>0x1E06),
                     array(0=>0x1E08, 1=>0x1E08),
                     array(0=>0x1E0A, 1=>0x1E0A),
                     array(0=>0x1E0C, 1=>0x1E0C),
                     array(0=>0x1E0E, 1=>0x1E0E),
                     array(0=>0x1E10, 1=>0x1E10),
                     array(0=>0x1E12, 1=>0x1E12),
                     array(0=>0x1E14, 1=>0x1E14),
                     array(0=>0x1E16, 1=>0x1E16),
                     array(0=>0x1E18, 1=>0x1E18),
                     array(0=>0x1E1A, 1=>0x1E1A),
                     array(0=>0x1E1C, 1=>0x1E1C),
                     array(0=>0x1E1E, 1=>0x1E1E),
                     array(0=>0x1E20, 1=>0x1E20),
                     array(0=>0x1E22, 1=>0x1E22),
                     array(0=>0x1E24, 1=>0x1E24),
                     array(0=>0x1E26, 1=>0x1E26),
                     array(0=>0x1E28, 1=>0x1E28),
                     array(0=>0x1E2A, 1=>0x1E2A),
                     array(0=>0x1E2C, 1=>0x1E2C),
                     array(0=>0x1E2E, 1=>0x1E2E),
                     array(0=>0x1E30, 1=>0x1E30),
                     array(0=>0x1E32, 1=>0x1E32),
                     array(0=>0x1E34, 1=>0x1E34),
                     array(0=>0x1E36, 1=>0x1E36),
                     array(0=>0x1E38, 1=>0x1E38),
                     array(0=>0x1E3A, 1=>0x1E3A),
                     array(0=>0x1E3C, 1=>0x1E3C),
                     array(0=>0x1E3E, 1=>0x1E3E),
                     array(0=>0x1E40, 1=>0x1E40),
                     array(0=>0x1E42, 1=>0x1E42),
                     array(0=>0x1E44, 1=>0x1E44),
                     array(0=>0x1E46, 1=>0x1E46),
                     array(0=>0x1E48, 1=>0x1E48),
                     array(0=>0x1E4A, 1=>0x1E4A),
                     array(0=>0x1E4C, 1=>0x1E4C),
                     array(0=>0x1E4E, 1=>0x1E4E),
                     array(0=>0x1E50, 1=>0x1E50),
                     array(0=>0x1E52, 1=>0x1E52),
                     array(0=>0x1E54, 1=>0x1E54),
                     array(0=>0x1E56, 1=>0x1E56),
                     array(0=>0x1E58, 1=>0x1E58),
                     array(0=>0x1E5A, 1=>0x1E5A),
                     array(0=>0x1E5C, 1=>0x1E5C),
                     array(0=>0x1E5E, 1=>0x1E5E),
                     array(0=>0x1E60, 1=>0x1E60),
                     array(0=>0x1E62, 1=>0x1E62),
                     array(0=>0x1E64, 1=>0x1E64),
                     array(0=>0x1E66, 1=>0x1E66),
                     array(0=>0x1E68, 1=>0x1E68),
                     array(0=>0x1E6A, 1=>0x1E6A),
                     array(0=>0x1E6C, 1=>0x1E6C),
                     array(0=>0x1E6E, 1=>0x1E6E),
                     array(0=>0x1E70, 1=>0x1E70),
                     array(0=>0x1E72, 1=>0x1E72),
                     array(0=>0x1E74, 1=>0x1E74),
                     array(0=>0x1E76, 1=>0x1E76),
                     array(0=>0x1E78, 1=>0x1E78),
                     array(0=>0x1E7A, 1=>0x1E7A),
                     array(0=>0x1E7C, 1=>0x1E7C),
                     array(0=>0x1E7E, 1=>0x1E7E),
                     array(0=>0x1E80, 1=>0x1E80),
                     array(0=>0x1E82, 1=>0x1E82),
                     array(0=>0x1E84, 1=>0x1E84),
                     array(0=>0x1E86, 1=>0x1E86),
                     array(0=>0x1E88, 1=>0x1E88),
                     array(0=>0x1E8A, 1=>0x1E8A),
                     array(0=>0x1E8C, 1=>0x1E8C),
                     array(0=>0x1E8E, 1=>0x1E8E),
                     array(0=>0x1E90, 1=>0x1E90),
                     array(0=>0x1E92, 1=>0x1E92),
                     array(0=>0x1E94, 1=>0x1E94),
                     array(0=>0x1E9E, 1=>0x1E9E),
                     array(0=>0x1EA0, 1=>0x1EA0),
                     array(0=>0x1EA2, 1=>0x1EA2),
                     array(0=>0x1EA4, 1=>0x1EA4),
                     array(0=>0x1EA6, 1=>0x1EA6),
                     array(0=>0x1EA8, 1=>0x1EA8),
                     array(0=>0x1EAA, 1=>0x1EAA),
                     array(0=>0x1EAC, 1=>0x1EAC),
                     array(0=>0x1EAE, 1=>0x1EAE),
                     array(0=>0x1EB0, 1=>0x1EB0),
                     array(0=>0x1EB2, 1=>0x1EB2),
                     array(0=>0x1EB4, 1=>0x1EB4),
                     array(0=>0x1EB6, 1=>0x1EB6),
                     array(0=>0x1EB8, 1=>0x1EB8),
                     array(0=>0x1EBA, 1=>0x1EBA),
                     array(0=>0x1EBC, 1=>0x1EBC),
                     array(0=>0x1EBE, 1=>0x1EBE),
                     array(0=>0x1EC0, 1=>0x1EC0),
                     array(0=>0x1EC2, 1=>0x1EC2),
                     array(0=>0x1EC4, 1=>0x1EC4),
                     array(0=>0x1EC6, 1=>0x1EC6),
                     array(0=>0x1EC8, 1=>0x1EC8),
                     array(0=>0x1ECA, 1=>0x1ECA),
                     array(0=>0x1ECC, 1=>0x1ECC),
                     array(0=>0x1ECE, 1=>0x1ECE),
                     array(0=>0x1ED0, 1=>0x1ED0),
                     array(0=>0x1ED2, 1=>0x1ED2),
                     array(0=>0x1ED4, 1=>0x1ED4),
                     array(0=>0x1ED6, 1=>0x1ED6),
                     array(0=>0x1ED8, 1=>0x1ED8),
                     array(0=>0x1EDA, 1=>0x1EDA),
                     array(0=>0x1EDC, 1=>0x1EDC),
                     array(0=>0x1EDE, 1=>0x1EDE),
                     array(0=>0x1EE0, 1=>0x1EE0),
                     array(0=>0x1EE2, 1=>0x1EE2),
                     array(0=>0x1EE4, 1=>0x1EE4),
                     array(0=>0x1EE6, 1=>0x1EE6),
                     array(0=>0x1EE8, 1=>0x1EE8),
                     array(0=>0x1EEA, 1=>0x1EEA),
                     array(0=>0x1EEC, 1=>0x1EEC),
                     array(0=>0x1EEE, 1=>0x1EEE),
                     array(0=>0x1EF0, 1=>0x1EF0),
                     array(0=>0x1EF2, 1=>0x1EF2),
                     array(0=>0x1EF4, 1=>0x1EF4),
                     array(0=>0x1EF6, 1=>0x1EF6),
                     array(0=>0x1EF8, 1=>0x1EF8),
                     array(0=>0x1EFA, 1=>0x1EFA),
                     array(0=>0x1EFC, 1=>0x1EFC),
                     array(0=>0x1EFE, 1=>0x1EFE),
                     array(0=>0x1F08, 1=>0x1F0F),
                     array(0=>0x1F18, 1=>0x1F1D),
                     array(0=>0x1F28, 1=>0x1F2F),
                     array(0=>0x1F38, 1=>0x1F3F),
                     array(0=>0x1F48, 1=>0x1F4D),
                     array(0=>0x1F59, 1=>0x1F59),
                     array(0=>0x1F5B, 1=>0x1F5B),
                     array(0=>0x1F5D, 1=>0x1F5D),
                     array(0=>0x1F5F, 1=>0x1F5F),
                     array(0=>0x1F68, 1=>0x1F6F),
                     array(0=>0x1FB8, 1=>0x1FBB),
                     array(0=>0x1FC8, 1=>0x1FCB),
                     array(0=>0x1FD8, 1=>0x1FDB),
                     array(0=>0x1FE8, 1=>0x1FEC),
                     array(0=>0x1FF8, 1=>0x1FFB),
                     array(0=>0x2102, 1=>0x2102),
                     array(0=>0x2107, 1=>0x2107),
                     array(0=>0x210B, 1=>0x210D),
                     array(0=>0x2110, 1=>0x2112),
                     array(0=>0x2115, 1=>0x2115),
                     array(0=>0x2119, 1=>0x211D),
                     array(0=>0x2124, 1=>0x2124),
                     array(0=>0x2126, 1=>0x2126),
                     array(0=>0x2128, 1=>0x2128),
                     array(0=>0x212A, 1=>0x212D),
                     array(0=>0x2130, 1=>0x2133),
                     array(0=>0x213E, 1=>0x213F),
                     array(0=>0x2145, 1=>0x2145),
                     array(0=>0x2183, 1=>0x2183),
                     array(0=>0x2C00, 1=>0x2C2E),
                     array(0=>0x2C60, 1=>0x2C60),
                     array(0=>0x2C62, 1=>0x2C64),
                     array(0=>0x2C67, 1=>0x2C67),
                     array(0=>0x2C69, 1=>0x2C69),
                     array(0=>0x2C6B, 1=>0x2C6B),
                     array(0=>0x2C6D, 1=>0x2C70),
                     array(0=>0x2C72, 1=>0x2C72),
                     array(0=>0x2C75, 1=>0x2C75),
                     array(0=>0x2C7E, 1=>0x2C80),
                     array(0=>0x2C82, 1=>0x2C82),
                     array(0=>0x2C84, 1=>0x2C84),
                     array(0=>0x2C86, 1=>0x2C86),
                     array(0=>0x2C88, 1=>0x2C88),
                     array(0=>0x2C8A, 1=>0x2C8A),
                     array(0=>0x2C8C, 1=>0x2C8C),
                     array(0=>0x2C8E, 1=>0x2C8E),
                     array(0=>0x2C90, 1=>0x2C90),
                     array(0=>0x2C92, 1=>0x2C92),
                     array(0=>0x2C94, 1=>0x2C94),
                     array(0=>0x2C96, 1=>0x2C96),
                     array(0=>0x2C98, 1=>0x2C98),
                     array(0=>0x2C9A, 1=>0x2C9A),
                     array(0=>0x2C9C, 1=>0x2C9C),
                     array(0=>0x2C9E, 1=>0x2C9E),
                     array(0=>0x2CA0, 1=>0x2CA0),
                     array(0=>0x2CA2, 1=>0x2CA2),
                     array(0=>0x2CA4, 1=>0x2CA4),
                     array(0=>0x2CA6, 1=>0x2CA6),
                     array(0=>0x2CA8, 1=>0x2CA8),
                     array(0=>0x2CAA, 1=>0x2CAA),
                     array(0=>0x2CAC, 1=>0x2CAC),
                     array(0=>0x2CAE, 1=>0x2CAE),
                     array(0=>0x2CB0, 1=>0x2CB0),
                     array(0=>0x2CB2, 1=>0x2CB2),
                     array(0=>0x2CB4, 1=>0x2CB4),
                     array(0=>0x2CB6, 1=>0x2CB6),
                     array(0=>0x2CB8, 1=>0x2CB8),
                     array(0=>0x2CBA, 1=>0x2CBA),
                     array(0=>0x2CBC, 1=>0x2CBC),
                     array(0=>0x2CBE, 1=>0x2CBE),
                     array(0=>0x2CC0, 1=>0x2CC0),
                     array(0=>0x2CC2, 1=>0x2CC2),
                     array(0=>0x2CC4, 1=>0x2CC4),
                     array(0=>0x2CC6, 1=>0x2CC6),
                     array(0=>0x2CC8, 1=>0x2CC8),
                     array(0=>0x2CCA, 1=>0x2CCA),
                     array(0=>0x2CCC, 1=>0x2CCC),
                     array(0=>0x2CCE, 1=>0x2CCE),
                     array(0=>0x2CD0, 1=>0x2CD0),
                     array(0=>0x2CD2, 1=>0x2CD2),
                     array(0=>0x2CD4, 1=>0x2CD4),
                     array(0=>0x2CD6, 1=>0x2CD6),
                     array(0=>0x2CD8, 1=>0x2CD8),
                     array(0=>0x2CDA, 1=>0x2CDA),
                     array(0=>0x2CDC, 1=>0x2CDC),
                     array(0=>0x2CDE, 1=>0x2CDE),
                     array(0=>0x2CE0, 1=>0x2CE0),
                     array(0=>0x2CE2, 1=>0x2CE2),
                     array(0=>0x2CEB, 1=>0x2CEB),
                     array(0=>0x2CED, 1=>0x2CED),
                     array(0=>0x2CF2, 1=>0x2CF2),
                     array(0=>0xA640, 1=>0xA640),
                     array(0=>0xA642, 1=>0xA642),
                     array(0=>0xA644, 1=>0xA644),
                     array(0=>0xA646, 1=>0xA646),
                     array(0=>0xA648, 1=>0xA648),
                     array(0=>0xA64A, 1=>0xA64A),
                     array(0=>0xA64C, 1=>0xA64C),
                     array(0=>0xA64E, 1=>0xA64E),
                     array(0=>0xA650, 1=>0xA650),
                     array(0=>0xA652, 1=>0xA652),
                     array(0=>0xA654, 1=>0xA654),
                     array(0=>0xA656, 1=>0xA656),
                     array(0=>0xA658, 1=>0xA658),
                     array(0=>0xA65A, 1=>0xA65A),
                     array(0=>0xA65C, 1=>0xA65C),
                     array(0=>0xA65E, 1=>0xA65E),
                     array(0=>0xA660, 1=>0xA660),
                     array(0=>0xA662, 1=>0xA662),
                     array(0=>0xA664, 1=>0xA664),
                     array(0=>0xA666, 1=>0xA666),
                     array(0=>0xA668, 1=>0xA668),
                     array(0=>0xA66A, 1=>0xA66A),
                     array(0=>0xA66C, 1=>0xA66C),
                     array(0=>0xA680, 1=>0xA680),
                     array(0=>0xA682, 1=>0xA682),
                     array(0=>0xA684, 1=>0xA684),
                     array(0=>0xA686, 1=>0xA686),
                     array(0=>0xA688, 1=>0xA688),
                     array(0=>0xA68A, 1=>0xA68A),
                     array(0=>0xA68C, 1=>0xA68C),
                     array(0=>0xA68E, 1=>0xA68E),
                     array(0=>0xA690, 1=>0xA690),
                     array(0=>0xA692, 1=>0xA692),
                     array(0=>0xA694, 1=>0xA694),
                     array(0=>0xA696, 1=>0xA696),
                     array(0=>0xA722, 1=>0xA722),
                     array(0=>0xA724, 1=>0xA724),
                     array(0=>0xA726, 1=>0xA726),
                     array(0=>0xA728, 1=>0xA728),
                     array(0=>0xA72A, 1=>0xA72A),
                     array(0=>0xA72C, 1=>0xA72C),
                     array(0=>0xA72E, 1=>0xA72E),
                     array(0=>0xA732, 1=>0xA732),
                     array(0=>0xA734, 1=>0xA734),
                     array(0=>0xA736, 1=>0xA736),
                     array(0=>0xA738, 1=>0xA738),
                     array(0=>0xA73A, 1=>0xA73A),
                     array(0=>0xA73C, 1=>0xA73C),
                     array(0=>0xA73E, 1=>0xA73E),
                     array(0=>0xA740, 1=>0xA740),
                     array(0=>0xA742, 1=>0xA742),
                     array(0=>0xA744, 1=>0xA744),
                     array(0=>0xA746, 1=>0xA746),
                     array(0=>0xA748, 1=>0xA748),
                     array(0=>0xA74A, 1=>0xA74A),
                     array(0=>0xA74C, 1=>0xA74C),
                     array(0=>0xA74E, 1=>0xA74E),
                     array(0=>0xA750, 1=>0xA750),
                     array(0=>0xA752, 1=>0xA752),
                     array(0=>0xA754, 1=>0xA754),
                     array(0=>0xA756, 1=>0xA756),
                     array(0=>0xA758, 1=>0xA758),
                     array(0=>0xA75A, 1=>0xA75A),
                     array(0=>0xA75C, 1=>0xA75C),
                     array(0=>0xA75E, 1=>0xA75E),
                     array(0=>0xA760, 1=>0xA760),
                     array(0=>0xA762, 1=>0xA762),
                     array(0=>0xA764, 1=>0xA764),
                     array(0=>0xA766, 1=>0xA766),
                     array(0=>0xA768, 1=>0xA768),
                     array(0=>0xA76A, 1=>0xA76A),
                     array(0=>0xA76C, 1=>0xA76C),
                     array(0=>0xA76E, 1=>0xA76E),
                     array(0=>0xA779, 1=>0xA779),
                     array(0=>0xA77B, 1=>0xA77B),
                     array(0=>0xA77D, 1=>0xA77E),
                     array(0=>0xA780, 1=>0xA780),
                     array(0=>0xA782, 1=>0xA782),
                     array(0=>0xA784, 1=>0xA784),
                     array(0=>0xA786, 1=>0xA786),
                     array(0=>0xA78B, 1=>0xA78B),
                     array(0=>0xA78D, 1=>0xA78D),
                     array(0=>0xA790, 1=>0xA790),
                     array(0=>0xA792, 1=>0xA792),
                     array(0=>0xA7A0, 1=>0xA7A0),
                     array(0=>0xA7A2, 1=>0xA7A2),
                     array(0=>0xA7A4, 1=>0xA7A4),
                     array(0=>0xA7A6, 1=>0xA7A6),
                     array(0=>0xA7A8, 1=>0xA7A8),
                     array(0=>0xA7AA, 1=>0xA7AA),
                     array(0=>0xFF21, 1=>0xFF3A),
                     array(0=>0x10400, 1=>0x10427),
                     array(0=>0x1D400, 1=>0x1D419),
                     array(0=>0x1D434, 1=>0x1D44D),
                     array(0=>0x1D468, 1=>0x1D481),
                     array(0=>0x1D49C, 1=>0x1D49C),
                     array(0=>0x1D49E, 1=>0x1D49F),
                     array(0=>0x1D4A2, 1=>0x1D4A2),
                     array(0=>0x1D4A5, 1=>0x1D4A6),
                     array(0=>0x1D4A9, 1=>0x1D4AC),
                     array(0=>0x1D4AE, 1=>0x1D4B5),
                     array(0=>0x1D4D0, 1=>0x1D4E9),
                     array(0=>0x1D504, 1=>0x1D505),
                     array(0=>0x1D507, 1=>0x1D50A),
                     array(0=>0x1D50D, 1=>0x1D514),
                     array(0=>0x1D516, 1=>0x1D51C),
                     array(0=>0x1D538, 1=>0x1D539),
                     array(0=>0x1D53B, 1=>0x1D53E),
                     array(0=>0x1D540, 1=>0x1D544),
                     array(0=>0x1D546, 1=>0x1D546),
                     array(0=>0x1D54A, 1=>0x1D550),
                     array(0=>0x1D56C, 1=>0x1D585),
                     array(0=>0x1D5A0, 1=>0x1D5B9),
                     array(0=>0x1D5D4, 1=>0x1D5ED),
                     array(0=>0x1D608, 1=>0x1D621),
                     array(0=>0x1D63C, 1=>0x1D655),
                     array(0=>0x1D670, 1=>0x1D689),
                     array(0=>0x1D6A8, 1=>0x1D6C0),
                     array(0=>0x1D6E2, 1=>0x1D6FA),
                     array(0=>0x1D71C, 1=>0x1D734),
                     array(0=>0x1D756, 1=>0x1D76E),
                     array(0=>0x1D790, 1=>0x1D7A8),
                     array(0=>0x1D7CA, 1=>0x1D7CA));
    }

    public static function M_ranges() {
        return array(array(0=>0x0300, 1=>0x036F),
                     array(0=>0x0483, 1=>0x0489),
                     array(0=>0x0591, 1=>0x05BD),
                     array(0=>0x05BF, 1=>0x05BF),
                     array(0=>0x05C1, 1=>0x05C2),
                     array(0=>0x05C4, 1=>0x05C5),
                     array(0=>0x05C7, 1=>0x05C7),
                     array(0=>0x0610, 1=>0x061A),
                     array(0=>0x064B, 1=>0x065F),
                     array(0=>0x0670, 1=>0x0670),
                     array(0=>0x06D6, 1=>0x06DC),
                     array(0=>0x06DF, 1=>0x06E4),
                     array(0=>0x06E7, 1=>0x06E8),
                     array(0=>0x06EA, 1=>0x06ED),
                     array(0=>0x0711, 1=>0x0711),
                     array(0=>0x0730, 1=>0x074A),
                     array(0=>0x07A6, 1=>0x07B0),
                     array(0=>0x07EB, 1=>0x07F3),
                     array(0=>0x0816, 1=>0x0819),
                     array(0=>0x081B, 1=>0x0823),
                     array(0=>0x0825, 1=>0x0827),
                     array(0=>0x0829, 1=>0x082D),
                     array(0=>0x0859, 1=>0x085B),
                     array(0=>0x08E4, 1=>0x08FE),
                     array(0=>0x0900, 1=>0x0903),
                     array(0=>0x093A, 1=>0x093C),
                     array(0=>0x093E, 1=>0x094F),
                     array(0=>0x0951, 1=>0x0957),
                     array(0=>0x0962, 1=>0x0963),
                     array(0=>0x0981, 1=>0x0983),
                     array(0=>0x09BC, 1=>0x09BC),
                     array(0=>0x09BE, 1=>0x09C4),
                     array(0=>0x09C7, 1=>0x09C8),
                     array(0=>0x09CB, 1=>0x09CD),
                     array(0=>0x09D7, 1=>0x09D7),
                     array(0=>0x09E2, 1=>0x09E3),
                     array(0=>0x0A01, 1=>0x0A03),
                     array(0=>0x0A3C, 1=>0x0A3C),
                     array(0=>0x0A3E, 1=>0x0A42),
                     array(0=>0x0A47, 1=>0x0A48),
                     array(0=>0x0A4B, 1=>0x0A4D),
                     array(0=>0x0A51, 1=>0x0A51),
                     array(0=>0x0A70, 1=>0x0A71),
                     array(0=>0x0A75, 1=>0x0A75),
                     array(0=>0x0A81, 1=>0x0A83),
                     array(0=>0x0ABC, 1=>0x0ABC),
                     array(0=>0x0ABE, 1=>0x0AC5),
                     array(0=>0x0AC7, 1=>0x0AC9),
                     array(0=>0x0ACB, 1=>0x0ACD),
                     array(0=>0x0AE2, 1=>0x0AE3),
                     array(0=>0x0B01, 1=>0x0B03),
                     array(0=>0x0B3C, 1=>0x0B3C),
                     array(0=>0x0B3E, 1=>0x0B44),
                     array(0=>0x0B47, 1=>0x0B48),
                     array(0=>0x0B4B, 1=>0x0B4D),
                     array(0=>0x0B56, 1=>0x0B57),
                     array(0=>0x0B62, 1=>0x0B63),
                     array(0=>0x0B82, 1=>0x0B82),
                     array(0=>0x0BBE, 1=>0x0BC2),
                     array(0=>0x0BC6, 1=>0x0BC8),
                     array(0=>0x0BCA, 1=>0x0BCD),
                     array(0=>0x0BD7, 1=>0x0BD7),
                     array(0=>0x0C01, 1=>0x0C03),
                     array(0=>0x0C3E, 1=>0x0C44),
                     array(0=>0x0C46, 1=>0x0C48),
                     array(0=>0x0C4A, 1=>0x0C4D),
                     array(0=>0x0C55, 1=>0x0C56),
                     array(0=>0x0C62, 1=>0x0C63),
                     array(0=>0x0C82, 1=>0x0C83),
                     array(0=>0x0CBC, 1=>0x0CBC),
                     array(0=>0x0CBE, 1=>0x0CC4),
                     array(0=>0x0CC6, 1=>0x0CC8),
                     array(0=>0x0CCA, 1=>0x0CCD),
                     array(0=>0x0CD5, 1=>0x0CD6),
                     array(0=>0x0CE2, 1=>0x0CE3),
                     array(0=>0x0D02, 1=>0x0D03),
                     array(0=>0x0D3E, 1=>0x0D44),
                     array(0=>0x0D46, 1=>0x0D48),
                     array(0=>0x0D4A, 1=>0x0D4D),
                     array(0=>0x0D57, 1=>0x0D57),
                     array(0=>0x0D62, 1=>0x0D63),
                     array(0=>0x0D82, 1=>0x0D83),
                     array(0=>0x0DCA, 1=>0x0DCA),
                     array(0=>0x0DCF, 1=>0x0DD4),
                     array(0=>0x0DD6, 1=>0x0DD6),
                     array(0=>0x0DD8, 1=>0x0DDF),
                     array(0=>0x0DF2, 1=>0x0DF3),
                     array(0=>0x0E31, 1=>0x0E31),
                     array(0=>0x0E34, 1=>0x0E3A),
                     array(0=>0x0E47, 1=>0x0E4E),
                     array(0=>0x0EB1, 1=>0x0EB1),
                     array(0=>0x0EB4, 1=>0x0EB9),
                     array(0=>0x0EBB, 1=>0x0EBC),
                     array(0=>0x0EC8, 1=>0x0ECD),
                     array(0=>0x0F18, 1=>0x0F19),
                     array(0=>0x0F35, 1=>0x0F35),
                     array(0=>0x0F37, 1=>0x0F37),
                     array(0=>0x0F39, 1=>0x0F39),
                     array(0=>0x0F3E, 1=>0x0F3F),
                     array(0=>0x0F71, 1=>0x0F84),
                     array(0=>0x0F86, 1=>0x0F87),
                     array(0=>0x0F8D, 1=>0x0F97),
                     array(0=>0x0F99, 1=>0x0FBC),
                     array(0=>0x0FC6, 1=>0x0FC6),
                     array(0=>0x102B, 1=>0x103E),
                     array(0=>0x1056, 1=>0x1059),
                     array(0=>0x105E, 1=>0x1060),
                     array(0=>0x1062, 1=>0x1064),
                     array(0=>0x1067, 1=>0x106D),
                     array(0=>0x1071, 1=>0x1074),
                     array(0=>0x1082, 1=>0x108D),
                     array(0=>0x108F, 1=>0x108F),
                     array(0=>0x109A, 1=>0x109D),
                     array(0=>0x135D, 1=>0x135F),
                     array(0=>0x1712, 1=>0x1714),
                     array(0=>0x1732, 1=>0x1734),
                     array(0=>0x1752, 1=>0x1753),
                     array(0=>0x1772, 1=>0x1773),
                     array(0=>0x17B4, 1=>0x17D3),
                     array(0=>0x17DD, 1=>0x17DD),
                     array(0=>0x180B, 1=>0x180D),
                     array(0=>0x18A9, 1=>0x18A9),
                     array(0=>0x1920, 1=>0x192B),
                     array(0=>0x1930, 1=>0x193B),
                     array(0=>0x19B0, 1=>0x19C0),
                     array(0=>0x19C8, 1=>0x19C9),
                     array(0=>0x1A17, 1=>0x1A1B),
                     array(0=>0x1A55, 1=>0x1A5E),
                     array(0=>0x1A60, 1=>0x1A7C),
                     array(0=>0x1A7F, 1=>0x1A7F),
                     array(0=>0x1B00, 1=>0x1B04),
                     array(0=>0x1B34, 1=>0x1B44),
                     array(0=>0x1B6B, 1=>0x1B73),
                     array(0=>0x1B80, 1=>0x1B82),
                     array(0=>0x1BA1, 1=>0x1BAD),
                     array(0=>0x1BE6, 1=>0x1BF3),
                     array(0=>0x1C24, 1=>0x1C37),
                     array(0=>0x1CD0, 1=>0x1CD2),
                     array(0=>0x1CD4, 1=>0x1CE8),
                     array(0=>0x1CED, 1=>0x1CED),
                     array(0=>0x1CF2, 1=>0x1CF4),
                     array(0=>0x1DC0, 1=>0x1DE6),
                     array(0=>0x1DFC, 1=>0x1DFF),
                     array(0=>0x20D0, 1=>0x20F0),
                     array(0=>0x2CEF, 1=>0x2CF1),
                     array(0=>0x2D7F, 1=>0x2D7F),
                     array(0=>0x2DE0, 1=>0x2DFF),
                     array(0=>0x302A, 1=>0x302F),
                     array(0=>0x3099, 1=>0x309A),
                     array(0=>0xA66F, 1=>0xA672),
                     array(0=>0xA674, 1=>0xA67D),
                     array(0=>0xA69F, 1=>0xA69F),
                     array(0=>0xA6F0, 1=>0xA6F1),
                     array(0=>0xA802, 1=>0xA802),
                     array(0=>0xA806, 1=>0xA806),
                     array(0=>0xA80B, 1=>0xA80B),
                     array(0=>0xA823, 1=>0xA827),
                     array(0=>0xA880, 1=>0xA881),
                     array(0=>0xA8B4, 1=>0xA8C4),
                     array(0=>0xA8E0, 1=>0xA8F1),
                     array(0=>0xA926, 1=>0xA92D),
                     array(0=>0xA947, 1=>0xA953),
                     array(0=>0xA980, 1=>0xA983),
                     array(0=>0xA9B3, 1=>0xA9C0),
                     array(0=>0xAA29, 1=>0xAA36),
                     array(0=>0xAA43, 1=>0xAA43),
                     array(0=>0xAA4C, 1=>0xAA4D),
                     array(0=>0xAA7B, 1=>0xAA7B),
                     array(0=>0xAAB0, 1=>0xAAB0),
                     array(0=>0xAAB2, 1=>0xAAB4),
                     array(0=>0xAAB7, 1=>0xAAB8),
                     array(0=>0xAABE, 1=>0xAABF),
                     array(0=>0xAAC1, 1=>0xAAC1),
                     array(0=>0xAAEB, 1=>0xAAEF),
                     array(0=>0xAAF5, 1=>0xAAF6),
                     array(0=>0xABE3, 1=>0xABEA),
                     array(0=>0xABEC, 1=>0xABED),
                     array(0=>0xFB1E, 1=>0xFB1E),
                     array(0=>0xFE00, 1=>0xFE0F),
                     array(0=>0xFE20, 1=>0xFE26),
                     array(0=>0x101FD, 1=>0x101FD),
                     array(0=>0x10A01, 1=>0x10A03),
                     array(0=>0x10A05, 1=>0x10A06),
                     array(0=>0x10A0C, 1=>0x10A0F),
                     array(0=>0x10A38, 1=>0x10A3A),
                     array(0=>0x10A3F, 1=>0x10A3F),
                     array(0=>0x11000, 1=>0x11002),
                     array(0=>0x11038, 1=>0x11046),
                     array(0=>0x11080, 1=>0x11082),
                     array(0=>0x110B0, 1=>0x110BA),
                     array(0=>0x11100, 1=>0x11102),
                     array(0=>0x11127, 1=>0x11134),
                     array(0=>0x11180, 1=>0x11182),
                     array(0=>0x111B3, 1=>0x111C0),
                     array(0=>0x116AB, 1=>0x116B7),
                     array(0=>0x16F51, 1=>0x16F7E),
                     array(0=>0x16F8F, 1=>0x16F92),
                     array(0=>0x1D165, 1=>0x1D169),
                     array(0=>0x1D16D, 1=>0x1D172),
                     array(0=>0x1D17B, 1=>0x1D182),
                     array(0=>0x1D185, 1=>0x1D18B),
                     array(0=>0x1D1AA, 1=>0x1D1AD),
                     array(0=>0x1D242, 1=>0x1D244),
                     array(0=>0xE0100, 1=>0xE01EF));
    }

    public static function Mc_ranges() {
        return array(array(0=>0x0903, 1=>0x0903),
                     array(0=>0x093B, 1=>0x093B),
                     array(0=>0x093E, 1=>0x0940),
                     array(0=>0x0949, 1=>0x094C),
                     array(0=>0x094E, 1=>0x094F),
                     array(0=>0x0982, 1=>0x0983),
                     array(0=>0x09BE, 1=>0x09C0),
                     array(0=>0x09C7, 1=>0x09C8),
                     array(0=>0x09CB, 1=>0x09CC),
                     array(0=>0x09D7, 1=>0x09D7),
                     array(0=>0x0A03, 1=>0x0A03),
                     array(0=>0x0A3E, 1=>0x0A40),
                     array(0=>0x0A83, 1=>0x0A83),
                     array(0=>0x0ABE, 1=>0x0AC0),
                     array(0=>0x0AC9, 1=>0x0AC9),
                     array(0=>0x0ACB, 1=>0x0ACC),
                     array(0=>0x0B02, 1=>0x0B03),
                     array(0=>0x0B3E, 1=>0x0B3E),
                     array(0=>0x0B40, 1=>0x0B40),
                     array(0=>0x0B47, 1=>0x0B48),
                     array(0=>0x0B4B, 1=>0x0B4C),
                     array(0=>0x0B57, 1=>0x0B57),
                     array(0=>0x0BBE, 1=>0x0BBF),
                     array(0=>0x0BC1, 1=>0x0BC2),
                     array(0=>0x0BC6, 1=>0x0BC8),
                     array(0=>0x0BCA, 1=>0x0BCC),
                     array(0=>0x0BD7, 1=>0x0BD7),
                     array(0=>0x0C01, 1=>0x0C03),
                     array(0=>0x0C41, 1=>0x0C44),
                     array(0=>0x0C82, 1=>0x0C83),
                     array(0=>0x0CBE, 1=>0x0CBE),
                     array(0=>0x0CC0, 1=>0x0CC4),
                     array(0=>0x0CC7, 1=>0x0CC8),
                     array(0=>0x0CCA, 1=>0x0CCB),
                     array(0=>0x0CD5, 1=>0x0CD6),
                     array(0=>0x0D02, 1=>0x0D03),
                     array(0=>0x0D3E, 1=>0x0D40),
                     array(0=>0x0D46, 1=>0x0D48),
                     array(0=>0x0D4A, 1=>0x0D4C),
                     array(0=>0x0D57, 1=>0x0D57),
                     array(0=>0x0D82, 1=>0x0D83),
                     array(0=>0x0DCF, 1=>0x0DD1),
                     array(0=>0x0DD8, 1=>0x0DDF),
                     array(0=>0x0DF2, 1=>0x0DF3),
                     array(0=>0x0F3E, 1=>0x0F3F),
                     array(0=>0x0F7F, 1=>0x0F7F),
                     array(0=>0x102B, 1=>0x102C),
                     array(0=>0x1031, 1=>0x1031),
                     array(0=>0x1038, 1=>0x1038),
                     array(0=>0x103B, 1=>0x103C),
                     array(0=>0x1056, 1=>0x1057),
                     array(0=>0x1062, 1=>0x1064),
                     array(0=>0x1067, 1=>0x106D),
                     array(0=>0x1083, 1=>0x1084),
                     array(0=>0x1087, 1=>0x108C),
                     array(0=>0x108F, 1=>0x108F),
                     array(0=>0x109A, 1=>0x109C),
                     array(0=>0x17B6, 1=>0x17B6),
                     array(0=>0x17BE, 1=>0x17C5),
                     array(0=>0x17C7, 1=>0x17C8),
                     array(0=>0x1923, 1=>0x1926),
                     array(0=>0x1929, 1=>0x192B),
                     array(0=>0x1930, 1=>0x1931),
                     array(0=>0x1933, 1=>0x1938),
                     array(0=>0x19B0, 1=>0x19C0),
                     array(0=>0x19C8, 1=>0x19C9),
                     array(0=>0x1A19, 1=>0x1A1B),
                     array(0=>0x1A55, 1=>0x1A55),
                     array(0=>0x1A57, 1=>0x1A57),
                     array(0=>0x1A61, 1=>0x1A61),
                     array(0=>0x1A63, 1=>0x1A64),
                     array(0=>0x1A6D, 1=>0x1A72),
                     array(0=>0x1B04, 1=>0x1B04),
                     array(0=>0x1B35, 1=>0x1B35),
                     array(0=>0x1B3B, 1=>0x1B3B),
                     array(0=>0x1B3D, 1=>0x1B41),
                     array(0=>0x1B43, 1=>0x1B44),
                     array(0=>0x1B82, 1=>0x1B82),
                     array(0=>0x1BA1, 1=>0x1BA1),
                     array(0=>0x1BA6, 1=>0x1BA7),
                     array(0=>0x1BAA, 1=>0x1BAA),
                     array(0=>0x1BAC, 1=>0x1BAD),
                     array(0=>0x1BE7, 1=>0x1BE7),
                     array(0=>0x1BEA, 1=>0x1BEC),
                     array(0=>0x1BEE, 1=>0x1BEE),
                     array(0=>0x1BF2, 1=>0x1BF3),
                     array(0=>0x1C24, 1=>0x1C2B),
                     array(0=>0x1C34, 1=>0x1C35),
                     array(0=>0x1CE1, 1=>0x1CE1),
                     array(0=>0x1CF2, 1=>0x1CF3),
                     array(0=>0x302E, 1=>0x302F),
                     array(0=>0xA823, 1=>0xA824),
                     array(0=>0xA827, 1=>0xA827),
                     array(0=>0xA880, 1=>0xA881),
                     array(0=>0xA8B4, 1=>0xA8C3),
                     array(0=>0xA952, 1=>0xA953),
                     array(0=>0xA983, 1=>0xA983),
                     array(0=>0xA9B4, 1=>0xA9B5),
                     array(0=>0xA9BA, 1=>0xA9BB),
                     array(0=>0xA9BD, 1=>0xA9C0),
                     array(0=>0xAA2F, 1=>0xAA30),
                     array(0=>0xAA33, 1=>0xAA34),
                     array(0=>0xAA4D, 1=>0xAA4D),
                     array(0=>0xAA7B, 1=>0xAA7B),
                     array(0=>0xAAEB, 1=>0xAAEB),
                     array(0=>0xAAEE, 1=>0xAAEF),
                     array(0=>0xAAF5, 1=>0xAAF5),
                     array(0=>0xABE3, 1=>0xABE4),
                     array(0=>0xABE6, 1=>0xABE7),
                     array(0=>0xABE9, 1=>0xABEA),
                     array(0=>0xABEC, 1=>0xABEC),
                     array(0=>0x11000, 1=>0x11000),
                     array(0=>0x11002, 1=>0x11002),
                     array(0=>0x11082, 1=>0x11082),
                     array(0=>0x110B0, 1=>0x110B2),
                     array(0=>0x110B7, 1=>0x110B8),
                     array(0=>0x1112C, 1=>0x1112C),
                     array(0=>0x11182, 1=>0x11182),
                     array(0=>0x111B3, 1=>0x111B5),
                     array(0=>0x111BF, 1=>0x111C0),
                     array(0=>0x116AC, 1=>0x116AC),
                     array(0=>0x116AE, 1=>0x116AF),
                     array(0=>0x116B6, 1=>0x116B6),
                     array(0=>0x16F51, 1=>0x16F7E),
                     array(0=>0x1D165, 1=>0x1D166),
                     array(0=>0x1D16D, 1=>0x1D172));
    }

    public static function Me_ranges() {
        return array(array(0=>0x0488, 1=>0x0489),
                     array(0=>0x20DD, 1=>0x20E0),
                     array(0=>0x20E2, 1=>0x20E4),
                     array(0=>0xA670, 1=>0xA672));
    }

    public static function Mn_ranges() {
        return array(array(0=>0x0300, 1=>0x036F),
                     array(0=>0x0483, 1=>0x0487),
                     array(0=>0x0591, 1=>0x05BD),
                     array(0=>0x05BF, 1=>0x05BF),
                     array(0=>0x05C1, 1=>0x05C2),
                     array(0=>0x05C4, 1=>0x05C5),
                     array(0=>0x05C7, 1=>0x05C7),
                     array(0=>0x0610, 1=>0x061A),
                     array(0=>0x064B, 1=>0x065F),
                     array(0=>0x0670, 1=>0x0670),
                     array(0=>0x06D6, 1=>0x06DC),
                     array(0=>0x06DF, 1=>0x06E4),
                     array(0=>0x06E7, 1=>0x06E8),
                     array(0=>0x06EA, 1=>0x06ED),
                     array(0=>0x0711, 1=>0x0711),
                     array(0=>0x0730, 1=>0x074A),
                     array(0=>0x07A6, 1=>0x07B0),
                     array(0=>0x07EB, 1=>0x07F3),
                     array(0=>0x0816, 1=>0x0819),
                     array(0=>0x081B, 1=>0x0823),
                     array(0=>0x0825, 1=>0x0827),
                     array(0=>0x0829, 1=>0x082D),
                     array(0=>0x0859, 1=>0x085B),
                     array(0=>0x08E4, 1=>0x08FE),
                     array(0=>0x0900, 1=>0x0902),
                     array(0=>0x093A, 1=>0x093A),
                     array(0=>0x093C, 1=>0x093C),
                     array(0=>0x0941, 1=>0x0948),
                     array(0=>0x094D, 1=>0x094D),
                     array(0=>0x0951, 1=>0x0957),
                     array(0=>0x0962, 1=>0x0963),
                     array(0=>0x0981, 1=>0x0981),
                     array(0=>0x09BC, 1=>0x09BC),
                     array(0=>0x09C1, 1=>0x09C4),
                     array(0=>0x09CD, 1=>0x09CD),
                     array(0=>0x09E2, 1=>0x09E3),
                     array(0=>0x0A01, 1=>0x0A02),
                     array(0=>0x0A3C, 1=>0x0A3C),
                     array(0=>0x0A41, 1=>0x0A42),
                     array(0=>0x0A47, 1=>0x0A48),
                     array(0=>0x0A4B, 1=>0x0A4D),
                     array(0=>0x0A51, 1=>0x0A51),
                     array(0=>0x0A70, 1=>0x0A71),
                     array(0=>0x0A75, 1=>0x0A75),
                     array(0=>0x0A81, 1=>0x0A82),
                     array(0=>0x0ABC, 1=>0x0ABC),
                     array(0=>0x0AC1, 1=>0x0AC5),
                     array(0=>0x0AC7, 1=>0x0AC8),
                     array(0=>0x0ACD, 1=>0x0ACD),
                     array(0=>0x0AE2, 1=>0x0AE3),
                     array(0=>0x0B01, 1=>0x0B01),
                     array(0=>0x0B3C, 1=>0x0B3C),
                     array(0=>0x0B3F, 1=>0x0B3F),
                     array(0=>0x0B41, 1=>0x0B44),
                     array(0=>0x0B4D, 1=>0x0B4D),
                     array(0=>0x0B56, 1=>0x0B56),
                     array(0=>0x0B62, 1=>0x0B63),
                     array(0=>0x0B82, 1=>0x0B82),
                     array(0=>0x0BC0, 1=>0x0BC0),
                     array(0=>0x0BCD, 1=>0x0BCD),
                     array(0=>0x0C3E, 1=>0x0C40),
                     array(0=>0x0C46, 1=>0x0C48),
                     array(0=>0x0C4A, 1=>0x0C4D),
                     array(0=>0x0C55, 1=>0x0C56),
                     array(0=>0x0C62, 1=>0x0C63),
                     array(0=>0x0CBC, 1=>0x0CBC),
                     array(0=>0x0CBF, 1=>0x0CBF),
                     array(0=>0x0CC6, 1=>0x0CC6),
                     array(0=>0x0CCC, 1=>0x0CCD),
                     array(0=>0x0CE2, 1=>0x0CE3),
                     array(0=>0x0D41, 1=>0x0D44),
                     array(0=>0x0D4D, 1=>0x0D4D),
                     array(0=>0x0D62, 1=>0x0D63),
                     array(0=>0x0DCA, 1=>0x0DCA),
                     array(0=>0x0DD2, 1=>0x0DD4),
                     array(0=>0x0DD6, 1=>0x0DD6),
                     array(0=>0x0E31, 1=>0x0E31),
                     array(0=>0x0E34, 1=>0x0E3A),
                     array(0=>0x0E47, 1=>0x0E4E),
                     array(0=>0x0EB1, 1=>0x0EB1),
                     array(0=>0x0EB4, 1=>0x0EB9),
                     array(0=>0x0EBB, 1=>0x0EBC),
                     array(0=>0x0EC8, 1=>0x0ECD),
                     array(0=>0x0F18, 1=>0x0F19),
                     array(0=>0x0F35, 1=>0x0F35),
                     array(0=>0x0F37, 1=>0x0F37),
                     array(0=>0x0F39, 1=>0x0F39),
                     array(0=>0x0F71, 1=>0x0F7E),
                     array(0=>0x0F80, 1=>0x0F84),
                     array(0=>0x0F86, 1=>0x0F87),
                     array(0=>0x0F8D, 1=>0x0F97),
                     array(0=>0x0F99, 1=>0x0FBC),
                     array(0=>0x0FC6, 1=>0x0FC6),
                     array(0=>0x102D, 1=>0x1030),
                     array(0=>0x1032, 1=>0x1037),
                     array(0=>0x1039, 1=>0x103A),
                     array(0=>0x103D, 1=>0x103E),
                     array(0=>0x1058, 1=>0x1059),
                     array(0=>0x105E, 1=>0x1060),
                     array(0=>0x1071, 1=>0x1074),
                     array(0=>0x1082, 1=>0x1082),
                     array(0=>0x1085, 1=>0x1086),
                     array(0=>0x108D, 1=>0x108D),
                     array(0=>0x109D, 1=>0x109D),
                     array(0=>0x135D, 1=>0x135F),
                     array(0=>0x1712, 1=>0x1714),
                     array(0=>0x1732, 1=>0x1734),
                     array(0=>0x1752, 1=>0x1753),
                     array(0=>0x1772, 1=>0x1773),
                     array(0=>0x17B4, 1=>0x17B5),
                     array(0=>0x17B7, 1=>0x17BD),
                     array(0=>0x17C6, 1=>0x17C6),
                     array(0=>0x17C9, 1=>0x17D3),
                     array(0=>0x17DD, 1=>0x17DD),
                     array(0=>0x180B, 1=>0x180D),
                     array(0=>0x18A9, 1=>0x18A9),
                     array(0=>0x1920, 1=>0x1922),
                     array(0=>0x1927, 1=>0x1928),
                     array(0=>0x1932, 1=>0x1932),
                     array(0=>0x1939, 1=>0x193B),
                     array(0=>0x1A17, 1=>0x1A18),
                     array(0=>0x1A56, 1=>0x1A56),
                     array(0=>0x1A58, 1=>0x1A5E),
                     array(0=>0x1A60, 1=>0x1A60),
                     array(0=>0x1A62, 1=>0x1A62),
                     array(0=>0x1A65, 1=>0x1A6C),
                     array(0=>0x1A73, 1=>0x1A7C),
                     array(0=>0x1A7F, 1=>0x1A7F),
                     array(0=>0x1B00, 1=>0x1B03),
                     array(0=>0x1B34, 1=>0x1B34),
                     array(0=>0x1B36, 1=>0x1B3A),
                     array(0=>0x1B3C, 1=>0x1B3C),
                     array(0=>0x1B42, 1=>0x1B42),
                     array(0=>0x1B6B, 1=>0x1B73),
                     array(0=>0x1B80, 1=>0x1B81),
                     array(0=>0x1BA2, 1=>0x1BA5),
                     array(0=>0x1BA8, 1=>0x1BA9),
                     array(0=>0x1BAB, 1=>0x1BAB),
                     array(0=>0x1BE6, 1=>0x1BE6),
                     array(0=>0x1BE8, 1=>0x1BE9),
                     array(0=>0x1BED, 1=>0x1BED),
                     array(0=>0x1BEF, 1=>0x1BF1),
                     array(0=>0x1C2C, 1=>0x1C33),
                     array(0=>0x1C36, 1=>0x1C37),
                     array(0=>0x1CD0, 1=>0x1CD2),
                     array(0=>0x1CD4, 1=>0x1CE0),
                     array(0=>0x1CE2, 1=>0x1CE8),
                     array(0=>0x1CED, 1=>0x1CED),
                     array(0=>0x1CF4, 1=>0x1CF4),
                     array(0=>0x1DC0, 1=>0x1DE6),
                     array(0=>0x1DFC, 1=>0x1DFF),
                     array(0=>0x20D0, 1=>0x20DC),
                     array(0=>0x20E1, 1=>0x20E1),
                     array(0=>0x20E5, 1=>0x20F0),
                     array(0=>0x2CEF, 1=>0x2CF1),
                     array(0=>0x2D7F, 1=>0x2D7F),
                     array(0=>0x2DE0, 1=>0x2DFF),
                     array(0=>0x302A, 1=>0x302D),
                     array(0=>0x3099, 1=>0x309A),
                     array(0=>0xA66F, 1=>0xA66F),
                     array(0=>0xA674, 1=>0xA67D),
                     array(0=>0xA69F, 1=>0xA69F),
                     array(0=>0xA6F0, 1=>0xA6F1),
                     array(0=>0xA802, 1=>0xA802),
                     array(0=>0xA806, 1=>0xA806),
                     array(0=>0xA80B, 1=>0xA80B),
                     array(0=>0xA825, 1=>0xA826),
                     array(0=>0xA8C4, 1=>0xA8C4),
                     array(0=>0xA8E0, 1=>0xA8F1),
                     array(0=>0xA926, 1=>0xA92D),
                     array(0=>0xA947, 1=>0xA951),
                     array(0=>0xA980, 1=>0xA982),
                     array(0=>0xA9B3, 1=>0xA9B3),
                     array(0=>0xA9B6, 1=>0xA9B9),
                     array(0=>0xA9BC, 1=>0xA9BC),
                     array(0=>0xAA29, 1=>0xAA2E),
                     array(0=>0xAA31, 1=>0xAA32),
                     array(0=>0xAA35, 1=>0xAA36),
                     array(0=>0xAA43, 1=>0xAA43),
                     array(0=>0xAA4C, 1=>0xAA4C),
                     array(0=>0xAAB0, 1=>0xAAB0),
                     array(0=>0xAAB2, 1=>0xAAB4),
                     array(0=>0xAAB7, 1=>0xAAB8),
                     array(0=>0xAABE, 1=>0xAABF),
                     array(0=>0xAAC1, 1=>0xAAC1),
                     array(0=>0xAAEC, 1=>0xAAED),
                     array(0=>0xAAF6, 1=>0xAAF6),
                     array(0=>0xABE5, 1=>0xABE5),
                     array(0=>0xABE8, 1=>0xABE8),
                     array(0=>0xABED, 1=>0xABED),
                     array(0=>0xFB1E, 1=>0xFB1E),
                     array(0=>0xFE00, 1=>0xFE0F),
                     array(0=>0xFE20, 1=>0xFE26),
                     array(0=>0x101FD, 1=>0x101FD),
                     array(0=>0x10A01, 1=>0x10A03),
                     array(0=>0x10A05, 1=>0x10A06),
                     array(0=>0x10A0C, 1=>0x10A0F),
                     array(0=>0x10A38, 1=>0x10A3A),
                     array(0=>0x10A3F, 1=>0x10A3F),
                     array(0=>0x11001, 1=>0x11001),
                     array(0=>0x11038, 1=>0x11046),
                     array(0=>0x11080, 1=>0x11081),
                     array(0=>0x110B3, 1=>0x110B6),
                     array(0=>0x110B9, 1=>0x110BA),
                     array(0=>0x11100, 1=>0x11102),
                     array(0=>0x11127, 1=>0x1112B),
                     array(0=>0x1112D, 1=>0x11134),
                     array(0=>0x11180, 1=>0x11181),
                     array(0=>0x111B6, 1=>0x111BE),
                     array(0=>0x116AB, 1=>0x116AB),
                     array(0=>0x116AD, 1=>0x116AD),
                     array(0=>0x116B0, 1=>0x116B5),
                     array(0=>0x116B7, 1=>0x116B7),
                     array(0=>0x16F8F, 1=>0x16F92),
                     array(0=>0x1D167, 1=>0x1D169),
                     array(0=>0x1D17B, 1=>0x1D182),
                     array(0=>0x1D185, 1=>0x1D18B),
                     array(0=>0x1D1AA, 1=>0x1D1AD),
                     array(0=>0x1D242, 1=>0x1D244),
                     array(0=>0xE0100, 1=>0xE01EF));
    }

    public static function N_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x00B2, 1=>0x00B3),
                     array(0=>0x00B9, 1=>0x00B9),
                     array(0=>0x00BC, 1=>0x00BE),
                     array(0=>0x0660, 1=>0x0669),
                     array(0=>0x06F0, 1=>0x06F9),
                     array(0=>0x07C0, 1=>0x07C9),
                     array(0=>0x0966, 1=>0x096F),
                     array(0=>0x09E6, 1=>0x09EF),
                     array(0=>0x09F4, 1=>0x09F9),
                     array(0=>0x0A66, 1=>0x0A6F),
                     array(0=>0x0AE6, 1=>0x0AEF),
                     array(0=>0x0B66, 1=>0x0B6F),
                     array(0=>0x0B72, 1=>0x0B77),
                     array(0=>0x0BE6, 1=>0x0BF2),
                     array(0=>0x0C66, 1=>0x0C6F),
                     array(0=>0x0C78, 1=>0x0C7E),
                     array(0=>0x0CE6, 1=>0x0CEF),
                     array(0=>0x0D66, 1=>0x0D75),
                     array(0=>0x0E50, 1=>0x0E59),
                     array(0=>0x0ED0, 1=>0x0ED9),
                     array(0=>0x0F20, 1=>0x0F33),
                     array(0=>0x1040, 1=>0x1049),
                     array(0=>0x1090, 1=>0x1099),
                     array(0=>0x1369, 1=>0x137C),
                     array(0=>0x16EE, 1=>0x16F0),
                     array(0=>0x17E0, 1=>0x17E9),
                     array(0=>0x17F0, 1=>0x17F9),
                     array(0=>0x1810, 1=>0x1819),
                     array(0=>0x1946, 1=>0x194F),
                     array(0=>0x19D0, 1=>0x19DA),
                     array(0=>0x1A80, 1=>0x1A89),
                     array(0=>0x1A90, 1=>0x1A99),
                     array(0=>0x1B50, 1=>0x1B59),
                     array(0=>0x1BB0, 1=>0x1BB9),
                     array(0=>0x1C40, 1=>0x1C49),
                     array(0=>0x1C50, 1=>0x1C59),
                     array(0=>0x2070, 1=>0x2070),
                     array(0=>0x2074, 1=>0x2079),
                     array(0=>0x2080, 1=>0x2089),
                     array(0=>0x2150, 1=>0x2182),
                     array(0=>0x2185, 1=>0x2189),
                     array(0=>0x2460, 1=>0x249B),
                     array(0=>0x24EA, 1=>0x24FF),
                     array(0=>0x2776, 1=>0x2793),
                     array(0=>0x2CFD, 1=>0x2CFD),
                     array(0=>0x3007, 1=>0x3007),
                     array(0=>0x3021, 1=>0x3029),
                     array(0=>0x3038, 1=>0x303A),
                     array(0=>0x3192, 1=>0x3195),
                     array(0=>0x3220, 1=>0x3229),
                     array(0=>0x3248, 1=>0x324F),
                     array(0=>0x3251, 1=>0x325F),
                     array(0=>0x3280, 1=>0x3289),
                     array(0=>0x32B1, 1=>0x32BF),
                     array(0=>0xA620, 1=>0xA629),
                     array(0=>0xA6E6, 1=>0xA6EF),
                     array(0=>0xA830, 1=>0xA835),
                     array(0=>0xA8D0, 1=>0xA8D9),
                     array(0=>0xA900, 1=>0xA909),
                     array(0=>0xA9D0, 1=>0xA9D9),
                     array(0=>0xAA50, 1=>0xAA59),
                     array(0=>0xABF0, 1=>0xABF9),
                     array(0=>0xFF10, 1=>0xFF19),
                     array(0=>0x10107, 1=>0x10133),
                     array(0=>0x10140, 1=>0x10178),
                     array(0=>0x1018A, 1=>0x1018A),
                     array(0=>0x10320, 1=>0x10323),
                     array(0=>0x10341, 1=>0x10341),
                     array(0=>0x1034A, 1=>0x1034A),
                     array(0=>0x103D1, 1=>0x103D5),
                     array(0=>0x104A0, 1=>0x104A9),
                     array(0=>0x10858, 1=>0x1085F),
                     array(0=>0x10916, 1=>0x1091B),
                     array(0=>0x10A40, 1=>0x10A47),
                     array(0=>0x10A7D, 1=>0x10A7E),
                     array(0=>0x10B58, 1=>0x10B5F),
                     array(0=>0x10B78, 1=>0x10B7F),
                     array(0=>0x10E60, 1=>0x10E7E),
                     array(0=>0x11052, 1=>0x1106F),
                     array(0=>0x110F0, 1=>0x110F9),
                     array(0=>0x11136, 1=>0x1113F),
                     array(0=>0x111D0, 1=>0x111D9),
                     array(0=>0x116C0, 1=>0x116C9),
                     array(0=>0x12400, 1=>0x12462),
                     array(0=>0x1D360, 1=>0x1D371),
                     array(0=>0x1D7CE, 1=>0x1D7FF),
                     array(0=>0x1F100, 1=>0x1F10A));
    }

    public static function Nd_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x0660, 1=>0x0669),
                     array(0=>0x06F0, 1=>0x06F9),
                     array(0=>0x07C0, 1=>0x07C9),
                     array(0=>0x0966, 1=>0x096F),
                     array(0=>0x09E6, 1=>0x09EF),
                     array(0=>0x0A66, 1=>0x0A6F),
                     array(0=>0x0AE6, 1=>0x0AEF),
                     array(0=>0x0B66, 1=>0x0B6F),
                     array(0=>0x0BE6, 1=>0x0BEF),
                     array(0=>0x0C66, 1=>0x0C6F),
                     array(0=>0x0CE6, 1=>0x0CEF),
                     array(0=>0x0D66, 1=>0x0D6F),
                     array(0=>0x0E50, 1=>0x0E59),
                     array(0=>0x0ED0, 1=>0x0ED9),
                     array(0=>0x0F20, 1=>0x0F29),
                     array(0=>0x1040, 1=>0x1049),
                     array(0=>0x1090, 1=>0x1099),
                     array(0=>0x17E0, 1=>0x17E9),
                     array(0=>0x1810, 1=>0x1819),
                     array(0=>0x1946, 1=>0x194F),
                     array(0=>0x19D0, 1=>0x19D9),
                     array(0=>0x1A80, 1=>0x1A89),
                     array(0=>0x1A90, 1=>0x1A99),
                     array(0=>0x1B50, 1=>0x1B59),
                     array(0=>0x1BB0, 1=>0x1BB9),
                     array(0=>0x1C40, 1=>0x1C49),
                     array(0=>0x1C50, 1=>0x1C59),
                     array(0=>0xA620, 1=>0xA629),
                     array(0=>0xA8D0, 1=>0xA8D9),
                     array(0=>0xA900, 1=>0xA909),
                     array(0=>0xA9D0, 1=>0xA9D9),
                     array(0=>0xAA50, 1=>0xAA59),
                     array(0=>0xABF0, 1=>0xABF9),
                     array(0=>0xFF10, 1=>0xFF19),
                     array(0=>0x104A0, 1=>0x104A9),
                     array(0=>0x11066, 1=>0x1106F),
                     array(0=>0x110F0, 1=>0x110F9),
                     array(0=>0x11136, 1=>0x1113F),
                     array(0=>0x111D0, 1=>0x111D9),
                     array(0=>0x116C0, 1=>0x116C9),
                     array(0=>0x1D7CE, 1=>0x1D7FF));
    }

    public static function Nl_ranges() {
        return array(array(0=>0x16EE, 1=>0x16F0),
                     array(0=>0x2160, 1=>0x2182),
                     array(0=>0x2185, 1=>0x2188),
                     array(0=>0x3007, 1=>0x3007),
                     array(0=>0x3021, 1=>0x3029),
                     array(0=>0x3038, 1=>0x303A),
                     array(0=>0xA6E6, 1=>0xA6EF),
                     array(0=>0x10140, 1=>0x10174),
                     array(0=>0x10341, 1=>0x10341),
                     array(0=>0x1034A, 1=>0x1034A),
                     array(0=>0x103D1, 1=>0x103D5),
                     array(0=>0x12400, 1=>0x12462));
    }

    public static function No_ranges() {
        return array(array(0=>0x00B2, 1=>0x00B3),
                     array(0=>0x00B9, 1=>0x00B9),
                     array(0=>0x00BC, 1=>0x00BE),
                     array(0=>0x09F4, 1=>0x09F9),
                     array(0=>0x0B72, 1=>0x0B77),
                     array(0=>0x0BF0, 1=>0x0BF2),
                     array(0=>0x0C78, 1=>0x0C7E),
                     array(0=>0x0D70, 1=>0x0D75),
                     array(0=>0x0F2A, 1=>0x0F33),
                     array(0=>0x1369, 1=>0x137C),
                     array(0=>0x17F0, 1=>0x17F9),
                     array(0=>0x19DA, 1=>0x19DA),
                     array(0=>0x2070, 1=>0x2070),
                     array(0=>0x2074, 1=>0x2079),
                     array(0=>0x2080, 1=>0x2089),
                     array(0=>0x2150, 1=>0x215F),
                     array(0=>0x2189, 1=>0x2189),
                     array(0=>0x2460, 1=>0x249B),
                     array(0=>0x24EA, 1=>0x24FF),
                     array(0=>0x2776, 1=>0x2793),
                     array(0=>0x2CFD, 1=>0x2CFD),
                     array(0=>0x3192, 1=>0x3195),
                     array(0=>0x3220, 1=>0x3229),
                     array(0=>0x3248, 1=>0x324F),
                     array(0=>0x3251, 1=>0x325F),
                     array(0=>0x3280, 1=>0x3289),
                     array(0=>0x32B1, 1=>0x32BF),
                     array(0=>0xA830, 1=>0xA835),
                     array(0=>0x10107, 1=>0x10133),
                     array(0=>0x10175, 1=>0x10178),
                     array(0=>0x1018A, 1=>0x1018A),
                     array(0=>0x10320, 1=>0x10323),
                     array(0=>0x10858, 1=>0x1085F),
                     array(0=>0x10916, 1=>0x1091B),
                     array(0=>0x10A40, 1=>0x10A47),
                     array(0=>0x10A7D, 1=>0x10A7E),
                     array(0=>0x10B58, 1=>0x10B5F),
                     array(0=>0x10B78, 1=>0x10B7F),
                     array(0=>0x10E60, 1=>0x10E7E),
                     array(0=>0x11052, 1=>0x11065),
                     array(0=>0x1D360, 1=>0x1D371),
                     array(0=>0x1F100, 1=>0x1F10A));
    }

    public static function P_ranges() {
        return array(array(0=>0x0021, 1=>0x0023),
                     array(0=>0x0025, 1=>0x002A),
                     array(0=>0x002C, 1=>0x002F),
                     array(0=>0x003A, 1=>0x003B),
                     array(0=>0x003F, 1=>0x0040),
                     array(0=>0x005B, 1=>0x005D),
                     array(0=>0x005F, 1=>0x005F),
                     array(0=>0x007B, 1=>0x007B),
                     array(0=>0x007D, 1=>0x007D),
                     array(0=>0x00A1, 1=>0x00A1),
                     array(0=>0x00A7, 1=>0x00A7),
                     array(0=>0x00AB, 1=>0x00AB),
                     array(0=>0x00B6, 1=>0x00B7),
                     array(0=>0x00BB, 1=>0x00BB),
                     array(0=>0x00BF, 1=>0x00BF),
                     array(0=>0x037E, 1=>0x037E),
                     array(0=>0x0387, 1=>0x0387),
                     array(0=>0x055A, 1=>0x055F),
                     array(0=>0x0589, 1=>0x058A),
                     array(0=>0x05BE, 1=>0x05BE),
                     array(0=>0x05C0, 1=>0x05C0),
                     array(0=>0x05C3, 1=>0x05C3),
                     array(0=>0x05C6, 1=>0x05C6),
                     array(0=>0x05F3, 1=>0x05F4),
                     array(0=>0x0609, 1=>0x060A),
                     array(0=>0x060C, 1=>0x060D),
                     array(0=>0x061B, 1=>0x061B),
                     array(0=>0x061E, 1=>0x061F),
                     array(0=>0x066A, 1=>0x066D),
                     array(0=>0x06D4, 1=>0x06D4),
                     array(0=>0x0700, 1=>0x070D),
                     array(0=>0x07F7, 1=>0x07F9),
                     array(0=>0x0830, 1=>0x083E),
                     array(0=>0x085E, 1=>0x085E),
                     array(0=>0x0964, 1=>0x0965),
                     array(0=>0x0970, 1=>0x0970),
                     array(0=>0x0AF0, 1=>0x0AF0),
                     array(0=>0x0DF4, 1=>0x0DF4),
                     array(0=>0x0E4F, 1=>0x0E4F),
                     array(0=>0x0E5A, 1=>0x0E5B),
                     array(0=>0x0F04, 1=>0x0F12),
                     array(0=>0x0F14, 1=>0x0F14),
                     array(0=>0x0F3A, 1=>0x0F3D),
                     array(0=>0x0F85, 1=>0x0F85),
                     array(0=>0x0FD0, 1=>0x0FD4),
                     array(0=>0x0FD9, 1=>0x0FDA),
                     array(0=>0x104A, 1=>0x104F),
                     array(0=>0x10FB, 1=>0x10FB),
                     array(0=>0x1360, 1=>0x1368),
                     array(0=>0x1400, 1=>0x1400),
                     array(0=>0x166D, 1=>0x166E),
                     array(0=>0x169B, 1=>0x169C),
                     array(0=>0x16EB, 1=>0x16ED),
                     array(0=>0x1735, 1=>0x1736),
                     array(0=>0x17D4, 1=>0x17D6),
                     array(0=>0x17D8, 1=>0x17DA),
                     array(0=>0x1800, 1=>0x180A),
                     array(0=>0x1944, 1=>0x1945),
                     array(0=>0x1A1E, 1=>0x1A1F),
                     array(0=>0x1AA0, 1=>0x1AA6),
                     array(0=>0x1AA8, 1=>0x1AAD),
                     array(0=>0x1B5A, 1=>0x1B60),
                     array(0=>0x1BFC, 1=>0x1BFF),
                     array(0=>0x1C3B, 1=>0x1C3F),
                     array(0=>0x1C7E, 1=>0x1C7F),
                     array(0=>0x1CC0, 1=>0x1CC7),
                     array(0=>0x1CD3, 1=>0x1CD3),
                     array(0=>0x2010, 1=>0x2027),
                     array(0=>0x2030, 1=>0x2043),
                     array(0=>0x2045, 1=>0x2051),
                     array(0=>0x2053, 1=>0x205E),
                     array(0=>0x207D, 1=>0x207E),
                     array(0=>0x208D, 1=>0x208E),
                     array(0=>0x2329, 1=>0x232A),
                     array(0=>0x2768, 1=>0x2775),
                     array(0=>0x27C5, 1=>0x27C6),
                     array(0=>0x27E6, 1=>0x27EF),
                     array(0=>0x2983, 1=>0x2998),
                     array(0=>0x29D8, 1=>0x29DB),
                     array(0=>0x29FC, 1=>0x29FD),
                     array(0=>0x2CF9, 1=>0x2CFC),
                     array(0=>0x2CFE, 1=>0x2CFF),
                     array(0=>0x2D70, 1=>0x2D70),
                     array(0=>0x2E00, 1=>0x2E2E),
                     array(0=>0x2E30, 1=>0x2E3B),
                     array(0=>0x3001, 1=>0x3003),
                     array(0=>0x3008, 1=>0x3011),
                     array(0=>0x3014, 1=>0x301F),
                     array(0=>0x3030, 1=>0x3030),
                     array(0=>0x303D, 1=>0x303D),
                     array(0=>0x30A0, 1=>0x30A0),
                     array(0=>0x30FB, 1=>0x30FB),
                     array(0=>0xA4FE, 1=>0xA4FF),
                     array(0=>0xA60D, 1=>0xA60F),
                     array(0=>0xA673, 1=>0xA673),
                     array(0=>0xA67E, 1=>0xA67E),
                     array(0=>0xA6F2, 1=>0xA6F7),
                     array(0=>0xA874, 1=>0xA877),
                     array(0=>0xA8CE, 1=>0xA8CF),
                     array(0=>0xA8F8, 1=>0xA8FA),
                     array(0=>0xA92E, 1=>0xA92F),
                     array(0=>0xA95F, 1=>0xA95F),
                     array(0=>0xA9C1, 1=>0xA9CD),
                     array(0=>0xA9DE, 1=>0xA9DF),
                     array(0=>0xAA5C, 1=>0xAA5F),
                     array(0=>0xAADE, 1=>0xAADF),
                     array(0=>0xAAF0, 1=>0xAAF1),
                     array(0=>0xABEB, 1=>0xABEB),
                     array(0=>0xFD3E, 1=>0xFD3F),
                     array(0=>0xFE10, 1=>0xFE19),
                     array(0=>0xFE30, 1=>0xFE52),
                     array(0=>0xFE54, 1=>0xFE61),
                     array(0=>0xFE63, 1=>0xFE63),
                     array(0=>0xFE68, 1=>0xFE68),
                     array(0=>0xFE6A, 1=>0xFE6B),
                     array(0=>0xFF01, 1=>0xFF03),
                     array(0=>0xFF05, 1=>0xFF0A),
                     array(0=>0xFF0C, 1=>0xFF0F),
                     array(0=>0xFF1A, 1=>0xFF1B),
                     array(0=>0xFF1F, 1=>0xFF20),
                     array(0=>0xFF3B, 1=>0xFF3D),
                     array(0=>0xFF3F, 1=>0xFF3F),
                     array(0=>0xFF5B, 1=>0xFF5B),
                     array(0=>0xFF5D, 1=>0xFF5D),
                     array(0=>0xFF5F, 1=>0xFF65),
                     array(0=>0x10100, 1=>0x10102),
                     array(0=>0x1039F, 1=>0x1039F),
                     array(0=>0x103D0, 1=>0x103D0),
                     array(0=>0x10857, 1=>0x10857),
                     array(0=>0x1091F, 1=>0x1091F),
                     array(0=>0x1093F, 1=>0x1093F),
                     array(0=>0x10A50, 1=>0x10A58),
                     array(0=>0x10A7F, 1=>0x10A7F),
                     array(0=>0x10B39, 1=>0x10B3F),
                     array(0=>0x11047, 1=>0x1104D),
                     array(0=>0x110BB, 1=>0x110BC),
                     array(0=>0x110BE, 1=>0x110C1),
                     array(0=>0x11140, 1=>0x11143),
                     array(0=>0x111C5, 1=>0x111C8),
                     array(0=>0x12470, 1=>0x12473));
    }

    public static function Pc_ranges() {
        return array(array(0=>0x005F, 1=>0x005F),
                     array(0=>0x203F, 1=>0x2040),
                     array(0=>0x2054, 1=>0x2054),
                     array(0=>0xFE33, 1=>0xFE34),
                     array(0=>0xFE4D, 1=>0xFE4F),
                     array(0=>0xFF3F, 1=>0xFF3F));
    }

    public static function Pd_ranges() {
        return array(array(0=>0x002D, 1=>0x002D),
                     array(0=>0x058A, 1=>0x058A),
                     array(0=>0x05BE, 1=>0x05BE),
                     array(0=>0x1400, 1=>0x1400),
                     array(0=>0x1806, 1=>0x1806),
                     array(0=>0x2010, 1=>0x2015),
                     array(0=>0x2E17, 1=>0x2E17),
                     array(0=>0x2E1A, 1=>0x2E1A),
                     array(0=>0x2E3A, 1=>0x2E3B),
                     array(0=>0x301C, 1=>0x301C),
                     array(0=>0x3030, 1=>0x3030),
                     array(0=>0x30A0, 1=>0x30A0),
                     array(0=>0xFE31, 1=>0xFE32),
                     array(0=>0xFE58, 1=>0xFE58),
                     array(0=>0xFE63, 1=>0xFE63),
                     array(0=>0xFF0D, 1=>0xFF0D));
    }

    public static function Pe_ranges() {
        return array(array(0=>0x0029, 1=>0x0029),
                     array(0=>0x005D, 1=>0x005D),
                     array(0=>0x007D, 1=>0x007D),
                     array(0=>0x0F3B, 1=>0x0F3B),
                     array(0=>0x0F3D, 1=>0x0F3D),
                     array(0=>0x169C, 1=>0x169C),
                     array(0=>0x2046, 1=>0x2046),
                     array(0=>0x207E, 1=>0x207E),
                     array(0=>0x208E, 1=>0x208E),
                     array(0=>0x232A, 1=>0x232A),
                     array(0=>0x2769, 1=>0x2769),
                     array(0=>0x276B, 1=>0x276B),
                     array(0=>0x276D, 1=>0x276D),
                     array(0=>0x276F, 1=>0x276F),
                     array(0=>0x2771, 1=>0x2771),
                     array(0=>0x2773, 1=>0x2773),
                     array(0=>0x2775, 1=>0x2775),
                     array(0=>0x27C6, 1=>0x27C6),
                     array(0=>0x27E7, 1=>0x27E7),
                     array(0=>0x27E9, 1=>0x27E9),
                     array(0=>0x27EB, 1=>0x27EB),
                     array(0=>0x27ED, 1=>0x27ED),
                     array(0=>0x27EF, 1=>0x27EF),
                     array(0=>0x2984, 1=>0x2984),
                     array(0=>0x2986, 1=>0x2986),
                     array(0=>0x2988, 1=>0x2988),
                     array(0=>0x298A, 1=>0x298A),
                     array(0=>0x298C, 1=>0x298C),
                     array(0=>0x298E, 1=>0x298E),
                     array(0=>0x2990, 1=>0x2990),
                     array(0=>0x2992, 1=>0x2992),
                     array(0=>0x2994, 1=>0x2994),
                     array(0=>0x2996, 1=>0x2996),
                     array(0=>0x2998, 1=>0x2998),
                     array(0=>0x29D9, 1=>0x29D9),
                     array(0=>0x29DB, 1=>0x29DB),
                     array(0=>0x29FD, 1=>0x29FD),
                     array(0=>0x2E23, 1=>0x2E23),
                     array(0=>0x2E25, 1=>0x2E25),
                     array(0=>0x2E27, 1=>0x2E27),
                     array(0=>0x2E29, 1=>0x2E29),
                     array(0=>0x3009, 1=>0x3009),
                     array(0=>0x300B, 1=>0x300B),
                     array(0=>0x300D, 1=>0x300D),
                     array(0=>0x300F, 1=>0x300F),
                     array(0=>0x3011, 1=>0x3011),
                     array(0=>0x3015, 1=>0x3015),
                     array(0=>0x3017, 1=>0x3017),
                     array(0=>0x3019, 1=>0x3019),
                     array(0=>0x301B, 1=>0x301B),
                     array(0=>0x301E, 1=>0x301F),
                     array(0=>0xFD3F, 1=>0xFD3F),
                     array(0=>0xFE18, 1=>0xFE18),
                     array(0=>0xFE36, 1=>0xFE36),
                     array(0=>0xFE38, 1=>0xFE38),
                     array(0=>0xFE3A, 1=>0xFE3A),
                     array(0=>0xFE3C, 1=>0xFE3C),
                     array(0=>0xFE3E, 1=>0xFE3E),
                     array(0=>0xFE40, 1=>0xFE40),
                     array(0=>0xFE42, 1=>0xFE42),
                     array(0=>0xFE44, 1=>0xFE44),
                     array(0=>0xFE48, 1=>0xFE48),
                     array(0=>0xFE5A, 1=>0xFE5A),
                     array(0=>0xFE5C, 1=>0xFE5C),
                     array(0=>0xFE5E, 1=>0xFE5E),
                     array(0=>0xFF09, 1=>0xFF09),
                     array(0=>0xFF3D, 1=>0xFF3D),
                     array(0=>0xFF5D, 1=>0xFF5D),
                     array(0=>0xFF60, 1=>0xFF60),
                     array(0=>0xFF63, 1=>0xFF63));
    }

    public static function Pf_ranges() {
        return array(array(0=>0x00BB, 1=>0x00BB),
                     array(0=>0x2019, 1=>0x2019),
                     array(0=>0x201D, 1=>0x201D),
                     array(0=>0x203A, 1=>0x203A),
                     array(0=>0x2E03, 1=>0x2E03),
                     array(0=>0x2E05, 1=>0x2E05),
                     array(0=>0x2E0A, 1=>0x2E0A),
                     array(0=>0x2E0D, 1=>0x2E0D),
                     array(0=>0x2E1D, 1=>0x2E1D),
                     array(0=>0x2E21, 1=>0x2E21));
    }

    public static function Pi_ranges() {
        return array(array(0=>0x00AB, 1=>0x00AB),
                     array(0=>0x2018, 1=>0x2018),
                     array(0=>0x201B, 1=>0x201C),
                     array(0=>0x201F, 1=>0x201F),
                     array(0=>0x2039, 1=>0x2039),
                     array(0=>0x2E02, 1=>0x2E02),
                     array(0=>0x2E04, 1=>0x2E04),
                     array(0=>0x2E09, 1=>0x2E09),
                     array(0=>0x2E0C, 1=>0x2E0C),
                     array(0=>0x2E1C, 1=>0x2E1C),
                     array(0=>0x2E20, 1=>0x2E20));
    }

    public static function Po_ranges() {
        return array(array(0=>0x0021, 1=>0x0023),
                     array(0=>0x0025, 1=>0x0027),
                     array(0=>0x002A, 1=>0x002A),
                     array(0=>0x002C, 1=>0x002C),
                     array(0=>0x002E, 1=>0x002F),
                     array(0=>0x003A, 1=>0x003B),
                     array(0=>0x003F, 1=>0x0040),
                     array(0=>0x005C, 1=>0x005C),
                     array(0=>0x00A1, 1=>0x00A1),
                     array(0=>0x00A7, 1=>0x00A7),
                     array(0=>0x00B6, 1=>0x00B7),
                     array(0=>0x00BF, 1=>0x00BF),
                     array(0=>0x037E, 1=>0x037E),
                     array(0=>0x0387, 1=>0x0387),
                     array(0=>0x055A, 1=>0x055F),
                     array(0=>0x0589, 1=>0x0589),
                     array(0=>0x05C0, 1=>0x05C0),
                     array(0=>0x05C3, 1=>0x05C3),
                     array(0=>0x05C6, 1=>0x05C6),
                     array(0=>0x05F3, 1=>0x05F4),
                     array(0=>0x0609, 1=>0x060A),
                     array(0=>0x060C, 1=>0x060D),
                     array(0=>0x061B, 1=>0x061B),
                     array(0=>0x061E, 1=>0x061F),
                     array(0=>0x066A, 1=>0x066D),
                     array(0=>0x06D4, 1=>0x06D4),
                     array(0=>0x0700, 1=>0x070D),
                     array(0=>0x07F7, 1=>0x07F9),
                     array(0=>0x0830, 1=>0x083E),
                     array(0=>0x085E, 1=>0x085E),
                     array(0=>0x0964, 1=>0x0965),
                     array(0=>0x0970, 1=>0x0970),
                     array(0=>0x0AF0, 1=>0x0AF0),
                     array(0=>0x0DF4, 1=>0x0DF4),
                     array(0=>0x0E4F, 1=>0x0E4F),
                     array(0=>0x0E5A, 1=>0x0E5B),
                     array(0=>0x0F04, 1=>0x0F12),
                     array(0=>0x0F14, 1=>0x0F14),
                     array(0=>0x0F85, 1=>0x0F85),
                     array(0=>0x0FD0, 1=>0x0FD4),
                     array(0=>0x0FD9, 1=>0x0FDA),
                     array(0=>0x104A, 1=>0x104F),
                     array(0=>0x10FB, 1=>0x10FB),
                     array(0=>0x1360, 1=>0x1368),
                     array(0=>0x166D, 1=>0x166E),
                     array(0=>0x16EB, 1=>0x16ED),
                     array(0=>0x1735, 1=>0x1736),
                     array(0=>0x17D4, 1=>0x17D6),
                     array(0=>0x17D8, 1=>0x17DA),
                     array(0=>0x1800, 1=>0x1805),
                     array(0=>0x1807, 1=>0x180A),
                     array(0=>0x1944, 1=>0x1945),
                     array(0=>0x1A1E, 1=>0x1A1F),
                     array(0=>0x1AA0, 1=>0x1AA6),
                     array(0=>0x1AA8, 1=>0x1AAD),
                     array(0=>0x1B5A, 1=>0x1B60),
                     array(0=>0x1BFC, 1=>0x1BFF),
                     array(0=>0x1C3B, 1=>0x1C3F),
                     array(0=>0x1C7E, 1=>0x1C7F),
                     array(0=>0x1CC0, 1=>0x1CC7),
                     array(0=>0x1CD3, 1=>0x1CD3),
                     array(0=>0x2016, 1=>0x2017),
                     array(0=>0x2020, 1=>0x2027),
                     array(0=>0x2030, 1=>0x2038),
                     array(0=>0x203B, 1=>0x203E),
                     array(0=>0x2041, 1=>0x2043),
                     array(0=>0x2047, 1=>0x2051),
                     array(0=>0x2053, 1=>0x2053),
                     array(0=>0x2055, 1=>0x205E),
                     array(0=>0x2CF9, 1=>0x2CFC),
                     array(0=>0x2CFE, 1=>0x2CFF),
                     array(0=>0x2D70, 1=>0x2D70),
                     array(0=>0x2E00, 1=>0x2E01),
                     array(0=>0x2E06, 1=>0x2E08),
                     array(0=>0x2E0B, 1=>0x2E0B),
                     array(0=>0x2E0E, 1=>0x2E16),
                     array(0=>0x2E18, 1=>0x2E19),
                     array(0=>0x2E1B, 1=>0x2E1B),
                     array(0=>0x2E1E, 1=>0x2E1F),
                     array(0=>0x2E2A, 1=>0x2E2E),
                     array(0=>0x2E30, 1=>0x2E39),
                     array(0=>0x3001, 1=>0x3003),
                     array(0=>0x303D, 1=>0x303D),
                     array(0=>0x30FB, 1=>0x30FB),
                     array(0=>0xA4FE, 1=>0xA4FF),
                     array(0=>0xA60D, 1=>0xA60F),
                     array(0=>0xA673, 1=>0xA673),
                     array(0=>0xA67E, 1=>0xA67E),
                     array(0=>0xA6F2, 1=>0xA6F7),
                     array(0=>0xA874, 1=>0xA877),
                     array(0=>0xA8CE, 1=>0xA8CF),
                     array(0=>0xA8F8, 1=>0xA8FA),
                     array(0=>0xA92E, 1=>0xA92F),
                     array(0=>0xA95F, 1=>0xA95F),
                     array(0=>0xA9C1, 1=>0xA9CD),
                     array(0=>0xA9DE, 1=>0xA9DF),
                     array(0=>0xAA5C, 1=>0xAA5F),
                     array(0=>0xAADE, 1=>0xAADF),
                     array(0=>0xAAF0, 1=>0xAAF1),
                     array(0=>0xABEB, 1=>0xABEB),
                     array(0=>0xFE10, 1=>0xFE16),
                     array(0=>0xFE19, 1=>0xFE19),
                     array(0=>0xFE30, 1=>0xFE30),
                     array(0=>0xFE45, 1=>0xFE46),
                     array(0=>0xFE49, 1=>0xFE4C),
                     array(0=>0xFE50, 1=>0xFE52),
                     array(0=>0xFE54, 1=>0xFE57),
                     array(0=>0xFE5F, 1=>0xFE61),
                     array(0=>0xFE68, 1=>0xFE68),
                     array(0=>0xFE6A, 1=>0xFE6B),
                     array(0=>0xFF01, 1=>0xFF03),
                     array(0=>0xFF05, 1=>0xFF07),
                     array(0=>0xFF0A, 1=>0xFF0A),
                     array(0=>0xFF0C, 1=>0xFF0C),
                     array(0=>0xFF0E, 1=>0xFF0F),
                     array(0=>0xFF1A, 1=>0xFF1B),
                     array(0=>0xFF1F, 1=>0xFF20),
                     array(0=>0xFF3C, 1=>0xFF3C),
                     array(0=>0xFF61, 1=>0xFF61),
                     array(0=>0xFF64, 1=>0xFF65),
                     array(0=>0x10100, 1=>0x10102),
                     array(0=>0x1039F, 1=>0x1039F),
                     array(0=>0x103D0, 1=>0x103D0),
                     array(0=>0x10857, 1=>0x10857),
                     array(0=>0x1091F, 1=>0x1091F),
                     array(0=>0x1093F, 1=>0x1093F),
                     array(0=>0x10A50, 1=>0x10A58),
                     array(0=>0x10A7F, 1=>0x10A7F),
                     array(0=>0x10B39, 1=>0x10B3F),
                     array(0=>0x11047, 1=>0x1104D),
                     array(0=>0x110BB, 1=>0x110BC),
                     array(0=>0x110BE, 1=>0x110C1),
                     array(0=>0x11140, 1=>0x11143),
                     array(0=>0x111C5, 1=>0x111C8),
                     array(0=>0x12470, 1=>0x12473));
    }

    public static function Ps_ranges() {
        return array(array(0=>0x0028, 1=>0x0028),
                     array(0=>0x005B, 1=>0x005B),
                     array(0=>0x007B, 1=>0x007B),
                     array(0=>0x0F3A, 1=>0x0F3A),
                     array(0=>0x0F3C, 1=>0x0F3C),
                     array(0=>0x169B, 1=>0x169B),
                     array(0=>0x201A, 1=>0x201A),
                     array(0=>0x201E, 1=>0x201E),
                     array(0=>0x2045, 1=>0x2045),
                     array(0=>0x207D, 1=>0x207D),
                     array(0=>0x208D, 1=>0x208D),
                     array(0=>0x2329, 1=>0x2329),
                     array(0=>0x2768, 1=>0x2768),
                     array(0=>0x276A, 1=>0x276A),
                     array(0=>0x276C, 1=>0x276C),
                     array(0=>0x276E, 1=>0x276E),
                     array(0=>0x2770, 1=>0x2770),
                     array(0=>0x2772, 1=>0x2772),
                     array(0=>0x2774, 1=>0x2774),
                     array(0=>0x27C5, 1=>0x27C5),
                     array(0=>0x27E6, 1=>0x27E6),
                     array(0=>0x27E8, 1=>0x27E8),
                     array(0=>0x27EA, 1=>0x27EA),
                     array(0=>0x27EC, 1=>0x27EC),
                     array(0=>0x27EE, 1=>0x27EE),
                     array(0=>0x2983, 1=>0x2983),
                     array(0=>0x2985, 1=>0x2985),
                     array(0=>0x2987, 1=>0x2987),
                     array(0=>0x2989, 1=>0x2989),
                     array(0=>0x298B, 1=>0x298B),
                     array(0=>0x298D, 1=>0x298D),
                     array(0=>0x298F, 1=>0x298F),
                     array(0=>0x2991, 1=>0x2991),
                     array(0=>0x2993, 1=>0x2993),
                     array(0=>0x2995, 1=>0x2995),
                     array(0=>0x2997, 1=>0x2997),
                     array(0=>0x29D8, 1=>0x29D8),
                     array(0=>0x29DA, 1=>0x29DA),
                     array(0=>0x29FC, 1=>0x29FC),
                     array(0=>0x2E22, 1=>0x2E22),
                     array(0=>0x2E24, 1=>0x2E24),
                     array(0=>0x2E26, 1=>0x2E26),
                     array(0=>0x2E28, 1=>0x2E28),
                     array(0=>0x3008, 1=>0x3008),
                     array(0=>0x300A, 1=>0x300A),
                     array(0=>0x300C, 1=>0x300C),
                     array(0=>0x300E, 1=>0x300E),
                     array(0=>0x3010, 1=>0x3010),
                     array(0=>0x3014, 1=>0x3014),
                     array(0=>0x3016, 1=>0x3016),
                     array(0=>0x3018, 1=>0x3018),
                     array(0=>0x301A, 1=>0x301A),
                     array(0=>0x301D, 1=>0x301D),
                     array(0=>0xFD3E, 1=>0xFD3E),
                     array(0=>0xFE17, 1=>0xFE17),
                     array(0=>0xFE35, 1=>0xFE35),
                     array(0=>0xFE37, 1=>0xFE37),
                     array(0=>0xFE39, 1=>0xFE39),
                     array(0=>0xFE3B, 1=>0xFE3B),
                     array(0=>0xFE3D, 1=>0xFE3D),
                     array(0=>0xFE3F, 1=>0xFE3F),
                     array(0=>0xFE41, 1=>0xFE41),
                     array(0=>0xFE43, 1=>0xFE43),
                     array(0=>0xFE47, 1=>0xFE47),
                     array(0=>0xFE59, 1=>0xFE59),
                     array(0=>0xFE5B, 1=>0xFE5B),
                     array(0=>0xFE5D, 1=>0xFE5D),
                     array(0=>0xFF08, 1=>0xFF08),
                     array(0=>0xFF3B, 1=>0xFF3B),
                     array(0=>0xFF5B, 1=>0xFF5B),
                     array(0=>0xFF5F, 1=>0xFF5F),
                     array(0=>0xFF62, 1=>0xFF62));
    }

    public static function S_ranges() {
        return array(array(0=>0x0024, 1=>0x0024),
                     array(0=>0x002B, 1=>0x002B),
                     array(0=>0x003C, 1=>0x003E),
                     array(0=>0x005E, 1=>0x005E),
                     array(0=>0x0060, 1=>0x0060),
                     array(0=>0x007C, 1=>0x007C),
                     array(0=>0x007E, 1=>0x007E),
                     array(0=>0x00A2, 1=>0x00A6),
                     array(0=>0x00A8, 1=>0x00A9),
                     array(0=>0x00AC, 1=>0x00AC),
                     array(0=>0x00AE, 1=>0x00B1),
                     array(0=>0x00B4, 1=>0x00B4),
                     array(0=>0x00B8, 1=>0x00B8),
                     array(0=>0x00D7, 1=>0x00D7),
                     array(0=>0x00F7, 1=>0x00F7),
                     array(0=>0x02C2, 1=>0x02C5),
                     array(0=>0x02D2, 1=>0x02DF),
                     array(0=>0x02E5, 1=>0x02EB),
                     array(0=>0x02ED, 1=>0x02ED),
                     array(0=>0x02EF, 1=>0x02FF),
                     array(0=>0x0375, 1=>0x0375),
                     array(0=>0x0384, 1=>0x0385),
                     array(0=>0x03F6, 1=>0x03F6),
                     array(0=>0x0482, 1=>0x0482),
                     array(0=>0x058F, 1=>0x058F),
                     array(0=>0x0606, 1=>0x0608),
                     array(0=>0x060B, 1=>0x060B),
                     array(0=>0x060E, 1=>0x060F),
                     array(0=>0x06DE, 1=>0x06DE),
                     array(0=>0x06E9, 1=>0x06E9),
                     array(0=>0x06FD, 1=>0x06FE),
                     array(0=>0x07F6, 1=>0x07F6),
                     array(0=>0x09F2, 1=>0x09F3),
                     array(0=>0x09FA, 1=>0x09FB),
                     array(0=>0x0AF1, 1=>0x0AF1),
                     array(0=>0x0B70, 1=>0x0B70),
                     array(0=>0x0BF3, 1=>0x0BFA),
                     array(0=>0x0C7F, 1=>0x0C7F),
                     array(0=>0x0D79, 1=>0x0D79),
                     array(0=>0x0E3F, 1=>0x0E3F),
                     array(0=>0x0F01, 1=>0x0F03),
                     array(0=>0x0F13, 1=>0x0F13),
                     array(0=>0x0F15, 1=>0x0F17),
                     array(0=>0x0F1A, 1=>0x0F1F),
                     array(0=>0x0F34, 1=>0x0F34),
                     array(0=>0x0F36, 1=>0x0F36),
                     array(0=>0x0F38, 1=>0x0F38),
                     array(0=>0x0FBE, 1=>0x0FC5),
                     array(0=>0x0FC7, 1=>0x0FCC),
                     array(0=>0x0FCE, 1=>0x0FCF),
                     array(0=>0x0FD5, 1=>0x0FD8),
                     array(0=>0x109E, 1=>0x109F),
                     array(0=>0x1390, 1=>0x1399),
                     array(0=>0x17DB, 1=>0x17DB),
                     array(0=>0x1940, 1=>0x1940),
                     array(0=>0x19DE, 1=>0x19FF),
                     array(0=>0x1B61, 1=>0x1B6A),
                     array(0=>0x1B74, 1=>0x1B7C),
                     array(0=>0x1FBD, 1=>0x1FBD),
                     array(0=>0x1FBF, 1=>0x1FC1),
                     array(0=>0x1FCD, 1=>0x1FCF),
                     array(0=>0x1FDD, 1=>0x1FDF),
                     array(0=>0x1FED, 1=>0x1FEF),
                     array(0=>0x1FFD, 1=>0x1FFE),
                     array(0=>0x2044, 1=>0x2044),
                     array(0=>0x2052, 1=>0x2052),
                     array(0=>0x207A, 1=>0x207C),
                     array(0=>0x208A, 1=>0x208C),
                     array(0=>0x20A0, 1=>0x20BA),
                     array(0=>0x2100, 1=>0x2101),
                     array(0=>0x2103, 1=>0x2106),
                     array(0=>0x2108, 1=>0x2109),
                     array(0=>0x2114, 1=>0x2114),
                     array(0=>0x2116, 1=>0x2118),
                     array(0=>0x211E, 1=>0x2123),
                     array(0=>0x2125, 1=>0x2125),
                     array(0=>0x2127, 1=>0x2127),
                     array(0=>0x2129, 1=>0x2129),
                     array(0=>0x212E, 1=>0x212E),
                     array(0=>0x213A, 1=>0x213B),
                     array(0=>0x2140, 1=>0x2144),
                     array(0=>0x214A, 1=>0x214D),
                     array(0=>0x214F, 1=>0x214F),
                     array(0=>0x2190, 1=>0x2328),
                     array(0=>0x232B, 1=>0x23F3),
                     array(0=>0x2400, 1=>0x2426),
                     array(0=>0x2440, 1=>0x244A),
                     array(0=>0x249C, 1=>0x24E9),
                     array(0=>0x2500, 1=>0x26FF),
                     array(0=>0x2701, 1=>0x2767),
                     array(0=>0x2794, 1=>0x27C4),
                     array(0=>0x27C7, 1=>0x27E5),
                     array(0=>0x27F0, 1=>0x2982),
                     array(0=>0x2999, 1=>0x29D7),
                     array(0=>0x29DC, 1=>0x29FB),
                     array(0=>0x29FE, 1=>0x2B4C),
                     array(0=>0x2B50, 1=>0x2B59),
                     array(0=>0x2CE5, 1=>0x2CEA),
                     array(0=>0x2E80, 1=>0x2E99),
                     array(0=>0x2E9B, 1=>0x2EF3),
                     array(0=>0x2F00, 1=>0x2FD5),
                     array(0=>0x2FF0, 1=>0x2FFB),
                     array(0=>0x3004, 1=>0x3004),
                     array(0=>0x3012, 1=>0x3013),
                     array(0=>0x3020, 1=>0x3020),
                     array(0=>0x3036, 1=>0x3037),
                     array(0=>0x303E, 1=>0x303F),
                     array(0=>0x309B, 1=>0x309C),
                     array(0=>0x3190, 1=>0x3191),
                     array(0=>0x3196, 1=>0x319F),
                     array(0=>0x31C0, 1=>0x31E3),
                     array(0=>0x3200, 1=>0x321E),
                     array(0=>0x322A, 1=>0x3247),
                     array(0=>0x3250, 1=>0x3250),
                     array(0=>0x3260, 1=>0x327F),
                     array(0=>0x328A, 1=>0x32B0),
                     array(0=>0x32C0, 1=>0x32FE),
                     array(0=>0x3300, 1=>0x33FF),
                     array(0=>0x4DC0, 1=>0x4DFF),
                     array(0=>0xA490, 1=>0xA4C6),
                     array(0=>0xA700, 1=>0xA716),
                     array(0=>0xA720, 1=>0xA721),
                     array(0=>0xA789, 1=>0xA78A),
                     array(0=>0xA828, 1=>0xA82B),
                     array(0=>0xA836, 1=>0xA839),
                     array(0=>0xAA77, 1=>0xAA79),
                     array(0=>0xFB29, 1=>0xFB29),
                     array(0=>0xFBB2, 1=>0xFBC1),
                     array(0=>0xFDFC, 1=>0xFDFD),
                     array(0=>0xFE62, 1=>0xFE62),
                     array(0=>0xFE64, 1=>0xFE66),
                     array(0=>0xFE69, 1=>0xFE69),
                     array(0=>0xFF04, 1=>0xFF04),
                     array(0=>0xFF0B, 1=>0xFF0B),
                     array(0=>0xFF1C, 1=>0xFF1E),
                     array(0=>0xFF3E, 1=>0xFF3E),
                     array(0=>0xFF40, 1=>0xFF40),
                     array(0=>0xFF5C, 1=>0xFF5C),
                     array(0=>0xFF5E, 1=>0xFF5E),
                     array(0=>0xFFE0, 1=>0xFFE6),
                     array(0=>0xFFE8, 1=>0xFFEE),
                     array(0=>0xFFFC, 1=>0xFFFD),
                     array(0=>0x10137, 1=>0x1013F),
                     array(0=>0x10179, 1=>0x10189),
                     array(0=>0x10190, 1=>0x1019B),
                     array(0=>0x101D0, 1=>0x101FC),
                     array(0=>0x1D000, 1=>0x1D0F5),
                     array(0=>0x1D100, 1=>0x1D126),
                     array(0=>0x1D129, 1=>0x1D164),
                     array(0=>0x1D16A, 1=>0x1D16C),
                     array(0=>0x1D183, 1=>0x1D184),
                     array(0=>0x1D18C, 1=>0x1D1A9),
                     array(0=>0x1D1AE, 1=>0x1D1DD),
                     array(0=>0x1D200, 1=>0x1D241),
                     array(0=>0x1D245, 1=>0x1D245),
                     array(0=>0x1D300, 1=>0x1D356),
                     array(0=>0x1D6C1, 1=>0x1D6C1),
                     array(0=>0x1D6DB, 1=>0x1D6DB),
                     array(0=>0x1D6FB, 1=>0x1D6FB),
                     array(0=>0x1D715, 1=>0x1D715),
                     array(0=>0x1D735, 1=>0x1D735),
                     array(0=>0x1D74F, 1=>0x1D74F),
                     array(0=>0x1D76F, 1=>0x1D76F),
                     array(0=>0x1D789, 1=>0x1D789),
                     array(0=>0x1D7A9, 1=>0x1D7A9),
                     array(0=>0x1D7C3, 1=>0x1D7C3),
                     array(0=>0x1EEF0, 1=>0x1EEF1),
                     array(0=>0x1F000, 1=>0x1F02B),
                     array(0=>0x1F030, 1=>0x1F093),
                     array(0=>0x1F0A0, 1=>0x1F0AE),
                     array(0=>0x1F0B1, 1=>0x1F0BE),
                     array(0=>0x1F0C1, 1=>0x1F0CF),
                     array(0=>0x1F0D1, 1=>0x1F0DF),
                     array(0=>0x1F110, 1=>0x1F12E),
                     array(0=>0x1F130, 1=>0x1F16B),
                     array(0=>0x1F170, 1=>0x1F19A),
                     array(0=>0x1F1E6, 1=>0x1F202),
                     array(0=>0x1F210, 1=>0x1F23A),
                     array(0=>0x1F240, 1=>0x1F248),
                     array(0=>0x1F250, 1=>0x1F251),
                     array(0=>0x1F300, 1=>0x1F320),
                     array(0=>0x1F330, 1=>0x1F335),
                     array(0=>0x1F337, 1=>0x1F37C),
                     array(0=>0x1F380, 1=>0x1F393),
                     array(0=>0x1F3A0, 1=>0x1F3C4),
                     array(0=>0x1F3C6, 1=>0x1F3CA),
                     array(0=>0x1F3E0, 1=>0x1F3F0),
                     array(0=>0x1F400, 1=>0x1F43E),
                     array(0=>0x1F440, 1=>0x1F440),
                     array(0=>0x1F442, 1=>0x1F4F7),
                     array(0=>0x1F4F9, 1=>0x1F4FC),
                     array(0=>0x1F500, 1=>0x1F53D),
                     array(0=>0x1F540, 1=>0x1F543),
                     array(0=>0x1F550, 1=>0x1F567),
                     array(0=>0x1F5FB, 1=>0x1F640),
                     array(0=>0x1F645, 1=>0x1F64F),
                     array(0=>0x1F680, 1=>0x1F6C5),
                     array(0=>0x1F700, 1=>0x1F773));
    }

    public static function Sc_ranges() {
        return array(array(0=>0x0024, 1=>0x0024),
                     array(0=>0x00A2, 1=>0x00A5),
                     array(0=>0x058F, 1=>0x058F),
                     array(0=>0x060B, 1=>0x060B),
                     array(0=>0x09F2, 1=>0x09F3),
                     array(0=>0x09FB, 1=>0x09FB),
                     array(0=>0x0AF1, 1=>0x0AF1),
                     array(0=>0x0BF9, 1=>0x0BF9),
                     array(0=>0x0E3F, 1=>0x0E3F),
                     array(0=>0x17DB, 1=>0x17DB),
                     array(0=>0x20A0, 1=>0x20BA),
                     array(0=>0xA838, 1=>0xA838),
                     array(0=>0xFDFC, 1=>0xFDFC),
                     array(0=>0xFE69, 1=>0xFE69),
                     array(0=>0xFF04, 1=>0xFF04),
                     array(0=>0xFFE0, 1=>0xFFE1),
                     array(0=>0xFFE5, 1=>0xFFE6));
    }

    public static function Sk_ranges() {
        return array(array(0=>0x005E, 1=>0x005E),
                     array(0=>0x0060, 1=>0x0060),
                     array(0=>0x00A8, 1=>0x00A8),
                     array(0=>0x00AF, 1=>0x00AF),
                     array(0=>0x00B4, 1=>0x00B4),
                     array(0=>0x00B8, 1=>0x00B8),
                     array(0=>0x02C2, 1=>0x02C5),
                     array(0=>0x02D2, 1=>0x02DF),
                     array(0=>0x02E5, 1=>0x02EB),
                     array(0=>0x02ED, 1=>0x02ED),
                     array(0=>0x02EF, 1=>0x02FF),
                     array(0=>0x0375, 1=>0x0375),
                     array(0=>0x0384, 1=>0x0385),
                     array(0=>0x1FBD, 1=>0x1FBD),
                     array(0=>0x1FBF, 1=>0x1FC1),
                     array(0=>0x1FCD, 1=>0x1FCF),
                     array(0=>0x1FDD, 1=>0x1FDF),
                     array(0=>0x1FED, 1=>0x1FEF),
                     array(0=>0x1FFD, 1=>0x1FFE),
                     array(0=>0x309B, 1=>0x309C),
                     array(0=>0xA700, 1=>0xA716),
                     array(0=>0xA720, 1=>0xA721),
                     array(0=>0xA789, 1=>0xA78A),
                     array(0=>0xFBB2, 1=>0xFBC1),
                     array(0=>0xFF3E, 1=>0xFF3E),
                     array(0=>0xFF40, 1=>0xFF40),
                     array(0=>0xFFE3, 1=>0xFFE3));
    }

    public static function Sm_ranges() {
        return array(array(0=>0x002B, 1=>0x002B),
                     array(0=>0x003C, 1=>0x003E),
                     array(0=>0x007C, 1=>0x007C),
                     array(0=>0x007E, 1=>0x007E),
                     array(0=>0x00AC, 1=>0x00AC),
                     array(0=>0x00B1, 1=>0x00B1),
                     array(0=>0x00D7, 1=>0x00D7),
                     array(0=>0x00F7, 1=>0x00F7),
                     array(0=>0x03F6, 1=>0x03F6),
                     array(0=>0x0606, 1=>0x0608),
                     array(0=>0x2044, 1=>0x2044),
                     array(0=>0x2052, 1=>0x2052),
                     array(0=>0x207A, 1=>0x207C),
                     array(0=>0x208A, 1=>0x208C),
                     array(0=>0x2118, 1=>0x2118),
                     array(0=>0x2140, 1=>0x2144),
                     array(0=>0x214B, 1=>0x214B),
                     array(0=>0x2190, 1=>0x2194),
                     array(0=>0x219A, 1=>0x219B),
                     array(0=>0x21A0, 1=>0x21A0),
                     array(0=>0x21A3, 1=>0x21A3),
                     array(0=>0x21A6, 1=>0x21A6),
                     array(0=>0x21AE, 1=>0x21AE),
                     array(0=>0x21CE, 1=>0x21CF),
                     array(0=>0x21D2, 1=>0x21D2),
                     array(0=>0x21D4, 1=>0x21D4),
                     array(0=>0x21F4, 1=>0x22FF),
                     array(0=>0x2308, 1=>0x230B),
                     array(0=>0x2320, 1=>0x2321),
                     array(0=>0x237C, 1=>0x237C),
                     array(0=>0x239B, 1=>0x23B3),
                     array(0=>0x23DC, 1=>0x23E1),
                     array(0=>0x25B7, 1=>0x25B7),
                     array(0=>0x25C1, 1=>0x25C1),
                     array(0=>0x25F8, 1=>0x25FF),
                     array(0=>0x266F, 1=>0x266F),
                     array(0=>0x27C0, 1=>0x27C4),
                     array(0=>0x27C7, 1=>0x27E5),
                     array(0=>0x27F0, 1=>0x27FF),
                     array(0=>0x2900, 1=>0x2982),
                     array(0=>0x2999, 1=>0x29D7),
                     array(0=>0x29DC, 1=>0x29FB),
                     array(0=>0x29FE, 1=>0x2AFF),
                     array(0=>0x2B30, 1=>0x2B44),
                     array(0=>0x2B47, 1=>0x2B4C),
                     array(0=>0xFB29, 1=>0xFB29),
                     array(0=>0xFE62, 1=>0xFE62),
                     array(0=>0xFE64, 1=>0xFE66),
                     array(0=>0xFF0B, 1=>0xFF0B),
                     array(0=>0xFF1C, 1=>0xFF1E),
                     array(0=>0xFF5C, 1=>0xFF5C),
                     array(0=>0xFF5E, 1=>0xFF5E),
                     array(0=>0xFFE2, 1=>0xFFE2),
                     array(0=>0xFFE9, 1=>0xFFEC),
                     array(0=>0x1D6C1, 1=>0x1D6C1),
                     array(0=>0x1D6DB, 1=>0x1D6DB),
                     array(0=>0x1D6FB, 1=>0x1D6FB),
                     array(0=>0x1D715, 1=>0x1D715),
                     array(0=>0x1D735, 1=>0x1D735),
                     array(0=>0x1D74F, 1=>0x1D74F),
                     array(0=>0x1D76F, 1=>0x1D76F),
                     array(0=>0x1D789, 1=>0x1D789),
                     array(0=>0x1D7A9, 1=>0x1D7A9),
                     array(0=>0x1D7C3, 1=>0x1D7C3),
                     array(0=>0x1EEF0, 1=>0x1EEF1));
    }

    public static function So_ranges() {
        return array(array(0=>0x00A6, 1=>0x00A6),
                     array(0=>0x00A9, 1=>0x00A9),
                     array(0=>0x00AE, 1=>0x00AE),
                     array(0=>0x00B0, 1=>0x00B0),
                     array(0=>0x0482, 1=>0x0482),
                     array(0=>0x060E, 1=>0x060F),
                     array(0=>0x06DE, 1=>0x06DE),
                     array(0=>0x06E9, 1=>0x06E9),
                     array(0=>0x06FD, 1=>0x06FE),
                     array(0=>0x07F6, 1=>0x07F6),
                     array(0=>0x09FA, 1=>0x09FA),
                     array(0=>0x0B70, 1=>0x0B70),
                     array(0=>0x0BF3, 1=>0x0BF8),
                     array(0=>0x0BFA, 1=>0x0BFA),
                     array(0=>0x0C7F, 1=>0x0C7F),
                     array(0=>0x0D79, 1=>0x0D79),
                     array(0=>0x0F01, 1=>0x0F03),
                     array(0=>0x0F13, 1=>0x0F13),
                     array(0=>0x0F15, 1=>0x0F17),
                     array(0=>0x0F1A, 1=>0x0F1F),
                     array(0=>0x0F34, 1=>0x0F34),
                     array(0=>0x0F36, 1=>0x0F36),
                     array(0=>0x0F38, 1=>0x0F38),
                     array(0=>0x0FBE, 1=>0x0FC5),
                     array(0=>0x0FC7, 1=>0x0FCC),
                     array(0=>0x0FCE, 1=>0x0FCF),
                     array(0=>0x0FD5, 1=>0x0FD8),
                     array(0=>0x109E, 1=>0x109F),
                     array(0=>0x1390, 1=>0x1399),
                     array(0=>0x1940, 1=>0x1940),
                     array(0=>0x19DE, 1=>0x19FF),
                     array(0=>0x1B61, 1=>0x1B6A),
                     array(0=>0x1B74, 1=>0x1B7C),
                     array(0=>0x2100, 1=>0x2101),
                     array(0=>0x2103, 1=>0x2106),
                     array(0=>0x2108, 1=>0x2109),
                     array(0=>0x2114, 1=>0x2114),
                     array(0=>0x2116, 1=>0x2117),
                     array(0=>0x211E, 1=>0x2123),
                     array(0=>0x2125, 1=>0x2125),
                     array(0=>0x2127, 1=>0x2127),
                     array(0=>0x2129, 1=>0x2129),
                     array(0=>0x212E, 1=>0x212E),
                     array(0=>0x213A, 1=>0x213B),
                     array(0=>0x214A, 1=>0x214A),
                     array(0=>0x214C, 1=>0x214D),
                     array(0=>0x214F, 1=>0x214F),
                     array(0=>0x2195, 1=>0x2199),
                     array(0=>0x219C, 1=>0x219F),
                     array(0=>0x21A1, 1=>0x21A2),
                     array(0=>0x21A4, 1=>0x21A5),
                     array(0=>0x21A7, 1=>0x21AD),
                     array(0=>0x21AF, 1=>0x21CD),
                     array(0=>0x21D0, 1=>0x21D1),
                     array(0=>0x21D3, 1=>0x21D3),
                     array(0=>0x21D5, 1=>0x21F3),
                     array(0=>0x2300, 1=>0x2307),
                     array(0=>0x230C, 1=>0x231F),
                     array(0=>0x2322, 1=>0x2328),
                     array(0=>0x232B, 1=>0x237B),
                     array(0=>0x237D, 1=>0x239A),
                     array(0=>0x23B4, 1=>0x23DB),
                     array(0=>0x23E2, 1=>0x23F3),
                     array(0=>0x2400, 1=>0x2426),
                     array(0=>0x2440, 1=>0x244A),
                     array(0=>0x249C, 1=>0x24E9),
                     array(0=>0x2500, 1=>0x25B6),
                     array(0=>0x25B8, 1=>0x25C0),
                     array(0=>0x25C2, 1=>0x25F7),
                     array(0=>0x2600, 1=>0x266E),
                     array(0=>0x2670, 1=>0x26FF),
                     array(0=>0x2701, 1=>0x2767),
                     array(0=>0x2794, 1=>0x27BF),
                     array(0=>0x2800, 1=>0x28FF),
                     array(0=>0x2B00, 1=>0x2B2F),
                     array(0=>0x2B45, 1=>0x2B46),
                     array(0=>0x2B50, 1=>0x2B59),
                     array(0=>0x2CE5, 1=>0x2CEA),
                     array(0=>0x2E80, 1=>0x2E99),
                     array(0=>0x2E9B, 1=>0x2EF3),
                     array(0=>0x2F00, 1=>0x2FD5),
                     array(0=>0x2FF0, 1=>0x2FFB),
                     array(0=>0x3004, 1=>0x3004),
                     array(0=>0x3012, 1=>0x3013),
                     array(0=>0x3020, 1=>0x3020),
                     array(0=>0x3036, 1=>0x3037),
                     array(0=>0x303E, 1=>0x303F),
                     array(0=>0x3190, 1=>0x3191),
                     array(0=>0x3196, 1=>0x319F),
                     array(0=>0x31C0, 1=>0x31E3),
                     array(0=>0x3200, 1=>0x321E),
                     array(0=>0x322A, 1=>0x3247),
                     array(0=>0x3250, 1=>0x3250),
                     array(0=>0x3260, 1=>0x327F),
                     array(0=>0x328A, 1=>0x32B0),
                     array(0=>0x32C0, 1=>0x32FE),
                     array(0=>0x3300, 1=>0x33FF),
                     array(0=>0x4DC0, 1=>0x4DFF),
                     array(0=>0xA490, 1=>0xA4C6),
                     array(0=>0xA828, 1=>0xA82B),
                     array(0=>0xA836, 1=>0xA837),
                     array(0=>0xA839, 1=>0xA839),
                     array(0=>0xAA77, 1=>0xAA79),
                     array(0=>0xFDFD, 1=>0xFDFD),
                     array(0=>0xFFE4, 1=>0xFFE4),
                     array(0=>0xFFE8, 1=>0xFFE8),
                     array(0=>0xFFED, 1=>0xFFEE),
                     array(0=>0xFFFC, 1=>0xFFFD),
                     array(0=>0x10137, 1=>0x1013F),
                     array(0=>0x10179, 1=>0x10189),
                     array(0=>0x10190, 1=>0x1019B),
                     array(0=>0x101D0, 1=>0x101FC),
                     array(0=>0x1D000, 1=>0x1D0F5),
                     array(0=>0x1D100, 1=>0x1D126),
                     array(0=>0x1D129, 1=>0x1D164),
                     array(0=>0x1D16A, 1=>0x1D16C),
                     array(0=>0x1D183, 1=>0x1D184),
                     array(0=>0x1D18C, 1=>0x1D1A9),
                     array(0=>0x1D1AE, 1=>0x1D1DD),
                     array(0=>0x1D200, 1=>0x1D241),
                     array(0=>0x1D245, 1=>0x1D245),
                     array(0=>0x1D300, 1=>0x1D356),
                     array(0=>0x1F000, 1=>0x1F02B),
                     array(0=>0x1F030, 1=>0x1F093),
                     array(0=>0x1F0A0, 1=>0x1F0AE),
                     array(0=>0x1F0B1, 1=>0x1F0BE),
                     array(0=>0x1F0C1, 1=>0x1F0CF),
                     array(0=>0x1F0D1, 1=>0x1F0DF),
                     array(0=>0x1F110, 1=>0x1F12E),
                     array(0=>0x1F130, 1=>0x1F16B),
                     array(0=>0x1F170, 1=>0x1F19A),
                     array(0=>0x1F1E6, 1=>0x1F202),
                     array(0=>0x1F210, 1=>0x1F23A),
                     array(0=>0x1F240, 1=>0x1F248),
                     array(0=>0x1F250, 1=>0x1F251),
                     array(0=>0x1F300, 1=>0x1F320),
                     array(0=>0x1F330, 1=>0x1F335),
                     array(0=>0x1F337, 1=>0x1F37C),
                     array(0=>0x1F380, 1=>0x1F393),
                     array(0=>0x1F3A0, 1=>0x1F3C4),
                     array(0=>0x1F3C6, 1=>0x1F3CA),
                     array(0=>0x1F3E0, 1=>0x1F3F0),
                     array(0=>0x1F400, 1=>0x1F43E),
                     array(0=>0x1F440, 1=>0x1F440),
                     array(0=>0x1F442, 1=>0x1F4F7),
                     array(0=>0x1F4F9, 1=>0x1F4FC),
                     array(0=>0x1F500, 1=>0x1F53D),
                     array(0=>0x1F540, 1=>0x1F543),
                     array(0=>0x1F550, 1=>0x1F567),
                     array(0=>0x1F5FB, 1=>0x1F640),
                     array(0=>0x1F645, 1=>0x1F64F),
                     array(0=>0x1F680, 1=>0x1F6C5),
                     array(0=>0x1F700, 1=>0x1F773));
    }

    public static function Z_ranges() {
        return array(array(0=>0x0020, 1=>0x0020),
                     array(0=>0x00A0, 1=>0x00A0),
                     array(0=>0x1680, 1=>0x1680),
                     array(0=>0x180E, 1=>0x180E),
                     array(0=>0x2000, 1=>0x200A),
                     array(0=>0x2028, 1=>0x2029),
                     array(0=>0x202F, 1=>0x202F),
                     array(0=>0x205F, 1=>0x205F),
                     array(0=>0x3000, 1=>0x3000));
    }

    public static function Zl_ranges() {
        return array(array(0=>0x2028, 1=>0x2028));
    }

    public static function Zp_ranges() {
        return array(array(0=>0x2029, 1=>0x2029));
    }

    public static function Zs_ranges() {
        return array(array(0=>0x0020, 1=>0x0020),
                     array(0=>0x00A0, 1=>0x00A0),
                     array(0=>0x1680, 1=>0x1680),
                     array(0=>0x180E, 1=>0x180E),
                     array(0=>0x2000, 1=>0x200A),
                     array(0=>0x202F, 1=>0x202F),
                     array(0=>0x205F, 1=>0x205F),
                     array(0=>0x3000, 1=>0x3000));
    }

    public static function Xan_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x0041, 1=>0x005A),
                     array(0=>0x0061, 1=>0x007A),
                     array(0=>0x00AA, 1=>0x00AA),
                     array(0=>0x00B2, 1=>0x00B3),
                     array(0=>0x00B5, 1=>0x00B5),
                     array(0=>0x00B9, 1=>0x00BA),
                     array(0=>0x00BC, 1=>0x00BE),
                     array(0=>0x00C0, 1=>0x00D6),
                     array(0=>0x00D8, 1=>0x00F6),
                     array(0=>0x00F8, 1=>0x02C1),
                     array(0=>0x02C6, 1=>0x02D1),
                     array(0=>0x02E0, 1=>0x02E4),
                     array(0=>0x02EC, 1=>0x02EC),
                     array(0=>0x02EE, 1=>0x02EE),
                     array(0=>0x0370, 1=>0x0374),
                     array(0=>0x0376, 1=>0x0377),
                     array(0=>0x037A, 1=>0x037D),
                     array(0=>0x0386, 1=>0x0386),
                     array(0=>0x0388, 1=>0x038A),
                     array(0=>0x038C, 1=>0x038C),
                     array(0=>0x038E, 1=>0x03A1),
                     array(0=>0x03A3, 1=>0x03F5),
                     array(0=>0x03F7, 1=>0x0481),
                     array(0=>0x048A, 1=>0x0527),
                     array(0=>0x0531, 1=>0x0556),
                     array(0=>0x0559, 1=>0x0559),
                     array(0=>0x0561, 1=>0x0587),
                     array(0=>0x05D0, 1=>0x05EA),
                     array(0=>0x05F0, 1=>0x05F2),
                     array(0=>0x0620, 1=>0x064A),
                     array(0=>0x0660, 1=>0x0669),
                     array(0=>0x066E, 1=>0x066F),
                     array(0=>0x0671, 1=>0x06D3),
                     array(0=>0x06D5, 1=>0x06D5),
                     array(0=>0x06E5, 1=>0x06E6),
                     array(0=>0x06EE, 1=>0x06FC),
                     array(0=>0x06FF, 1=>0x06FF),
                     array(0=>0x0710, 1=>0x0710),
                     array(0=>0x0712, 1=>0x072F),
                     array(0=>0x074D, 1=>0x07A5),
                     array(0=>0x07B1, 1=>0x07B1),
                     array(0=>0x07C0, 1=>0x07EA),
                     array(0=>0x07F4, 1=>0x07F5),
                     array(0=>0x07FA, 1=>0x07FA),
                     array(0=>0x0800, 1=>0x0815),
                     array(0=>0x081A, 1=>0x081A),
                     array(0=>0x0824, 1=>0x0824),
                     array(0=>0x0828, 1=>0x0828),
                     array(0=>0x0840, 1=>0x0858),
                     array(0=>0x08A0, 1=>0x08A0),
                     array(0=>0x08A2, 1=>0x08AC),
                     array(0=>0x0904, 1=>0x0939),
                     array(0=>0x093D, 1=>0x093D),
                     array(0=>0x0950, 1=>0x0950),
                     array(0=>0x0958, 1=>0x0961),
                     array(0=>0x0966, 1=>0x096F),
                     array(0=>0x0971, 1=>0x0977),
                     array(0=>0x0979, 1=>0x097F),
                     array(0=>0x0985, 1=>0x098C),
                     array(0=>0x098F, 1=>0x0990),
                     array(0=>0x0993, 1=>0x09A8),
                     array(0=>0x09AA, 1=>0x09B0),
                     array(0=>0x09B2, 1=>0x09B2),
                     array(0=>0x09B6, 1=>0x09B9),
                     array(0=>0x09BD, 1=>0x09BD),
                     array(0=>0x09CE, 1=>0x09CE),
                     array(0=>0x09DC, 1=>0x09DD),
                     array(0=>0x09DF, 1=>0x09E1),
                     array(0=>0x09E6, 1=>0x09F1),
                     array(0=>0x09F4, 1=>0x09F9),
                     array(0=>0x0A05, 1=>0x0A0A),
                     array(0=>0x0A0F, 1=>0x0A10),
                     array(0=>0x0A13, 1=>0x0A28),
                     array(0=>0x0A2A, 1=>0x0A30),
                     array(0=>0x0A32, 1=>0x0A33),
                     array(0=>0x0A35, 1=>0x0A36),
                     array(0=>0x0A38, 1=>0x0A39),
                     array(0=>0x0A59, 1=>0x0A5C),
                     array(0=>0x0A5E, 1=>0x0A5E),
                     array(0=>0x0A66, 1=>0x0A6F),
                     array(0=>0x0A72, 1=>0x0A74),
                     array(0=>0x0A85, 1=>0x0A8D),
                     array(0=>0x0A8F, 1=>0x0A91),
                     array(0=>0x0A93, 1=>0x0AA8),
                     array(0=>0x0AAA, 1=>0x0AB0),
                     array(0=>0x0AB2, 1=>0x0AB3),
                     array(0=>0x0AB5, 1=>0x0AB9),
                     array(0=>0x0ABD, 1=>0x0ABD),
                     array(0=>0x0AD0, 1=>0x0AD0),
                     array(0=>0x0AE0, 1=>0x0AE1),
                     array(0=>0x0AE6, 1=>0x0AEF),
                     array(0=>0x0B05, 1=>0x0B0C),
                     array(0=>0x0B0F, 1=>0x0B10),
                     array(0=>0x0B13, 1=>0x0B28),
                     array(0=>0x0B2A, 1=>0x0B30),
                     array(0=>0x0B32, 1=>0x0B33),
                     array(0=>0x0B35, 1=>0x0B39),
                     array(0=>0x0B3D, 1=>0x0B3D),
                     array(0=>0x0B5C, 1=>0x0B5D),
                     array(0=>0x0B5F, 1=>0x0B61),
                     array(0=>0x0B66, 1=>0x0B6F),
                     array(0=>0x0B71, 1=>0x0B77),
                     array(0=>0x0B83, 1=>0x0B83),
                     array(0=>0x0B85, 1=>0x0B8A),
                     array(0=>0x0B8E, 1=>0x0B90),
                     array(0=>0x0B92, 1=>0x0B95),
                     array(0=>0x0B99, 1=>0x0B9A),
                     array(0=>0x0B9C, 1=>0x0B9C),
                     array(0=>0x0B9E, 1=>0x0B9F),
                     array(0=>0x0BA3, 1=>0x0BA4),
                     array(0=>0x0BA8, 1=>0x0BAA),
                     array(0=>0x0BAE, 1=>0x0BB9),
                     array(0=>0x0BD0, 1=>0x0BD0),
                     array(0=>0x0BE6, 1=>0x0BF2),
                     array(0=>0x0C05, 1=>0x0C0C),
                     array(0=>0x0C0E, 1=>0x0C10),
                     array(0=>0x0C12, 1=>0x0C28),
                     array(0=>0x0C2A, 1=>0x0C33),
                     array(0=>0x0C35, 1=>0x0C39),
                     array(0=>0x0C3D, 1=>0x0C3D),
                     array(0=>0x0C58, 1=>0x0C59),
                     array(0=>0x0C60, 1=>0x0C61),
                     array(0=>0x0C66, 1=>0x0C6F),
                     array(0=>0x0C78, 1=>0x0C7E),
                     array(0=>0x0C85, 1=>0x0C8C),
                     array(0=>0x0C8E, 1=>0x0C90),
                     array(0=>0x0C92, 1=>0x0CA8),
                     array(0=>0x0CAA, 1=>0x0CB3),
                     array(0=>0x0CB5, 1=>0x0CB9),
                     array(0=>0x0CBD, 1=>0x0CBD),
                     array(0=>0x0CDE, 1=>0x0CDE),
                     array(0=>0x0CE0, 1=>0x0CE1),
                     array(0=>0x0CE6, 1=>0x0CEF),
                     array(0=>0x0CF1, 1=>0x0CF2),
                     array(0=>0x0D05, 1=>0x0D0C),
                     array(0=>0x0D0E, 1=>0x0D10),
                     array(0=>0x0D12, 1=>0x0D3A),
                     array(0=>0x0D3D, 1=>0x0D3D),
                     array(0=>0x0D4E, 1=>0x0D4E),
                     array(0=>0x0D60, 1=>0x0D61),
                     array(0=>0x0D66, 1=>0x0D75),
                     array(0=>0x0D7A, 1=>0x0D7F),
                     array(0=>0x0D85, 1=>0x0D96),
                     array(0=>0x0D9A, 1=>0x0DB1),
                     array(0=>0x0DB3, 1=>0x0DBB),
                     array(0=>0x0DBD, 1=>0x0DBD),
                     array(0=>0x0DC0, 1=>0x0DC6),
                     array(0=>0x0E01, 1=>0x0E30),
                     array(0=>0x0E32, 1=>0x0E33),
                     array(0=>0x0E40, 1=>0x0E46),
                     array(0=>0x0E50, 1=>0x0E59),
                     array(0=>0x0E81, 1=>0x0E82),
                     array(0=>0x0E84, 1=>0x0E84),
                     array(0=>0x0E87, 1=>0x0E88),
                     array(0=>0x0E8A, 1=>0x0E8A),
                     array(0=>0x0E8D, 1=>0x0E8D),
                     array(0=>0x0E94, 1=>0x0E97),
                     array(0=>0x0E99, 1=>0x0E9F),
                     array(0=>0x0EA1, 1=>0x0EA3),
                     array(0=>0x0EA5, 1=>0x0EA5),
                     array(0=>0x0EA7, 1=>0x0EA7),
                     array(0=>0x0EAA, 1=>0x0EAB),
                     array(0=>0x0EAD, 1=>0x0EB0),
                     array(0=>0x0EB2, 1=>0x0EB3),
                     array(0=>0x0EBD, 1=>0x0EBD),
                     array(0=>0x0EC0, 1=>0x0EC4),
                     array(0=>0x0EC6, 1=>0x0EC6),
                     array(0=>0x0ED0, 1=>0x0ED9),
                     array(0=>0x0EDC, 1=>0x0EDF),
                     array(0=>0x0F00, 1=>0x0F00),
                     array(0=>0x0F20, 1=>0x0F33),
                     array(0=>0x0F40, 1=>0x0F47),
                     array(0=>0x0F49, 1=>0x0F6C),
                     array(0=>0x0F88, 1=>0x0F8C),
                     array(0=>0x1000, 1=>0x102A),
                     array(0=>0x103F, 1=>0x1049),
                     array(0=>0x1050, 1=>0x1055),
                     array(0=>0x105A, 1=>0x105D),
                     array(0=>0x1061, 1=>0x1061),
                     array(0=>0x1065, 1=>0x1066),
                     array(0=>0x106E, 1=>0x1070),
                     array(0=>0x1075, 1=>0x1081),
                     array(0=>0x108E, 1=>0x108E),
                     array(0=>0x1090, 1=>0x1099),
                     array(0=>0x10A0, 1=>0x10C5),
                     array(0=>0x10C7, 1=>0x10C7),
                     array(0=>0x10CD, 1=>0x10CD),
                     array(0=>0x10D0, 1=>0x10FA),
                     array(0=>0x10FC, 1=>0x1248),
                     array(0=>0x124A, 1=>0x124D),
                     array(0=>0x1250, 1=>0x1256),
                     array(0=>0x1258, 1=>0x1258),
                     array(0=>0x125A, 1=>0x125D),
                     array(0=>0x1260, 1=>0x1288),
                     array(0=>0x128A, 1=>0x128D),
                     array(0=>0x1290, 1=>0x12B0),
                     array(0=>0x12B2, 1=>0x12B5),
                     array(0=>0x12B8, 1=>0x12BE),
                     array(0=>0x12C0, 1=>0x12C0),
                     array(0=>0x12C2, 1=>0x12C5),
                     array(0=>0x12C8, 1=>0x12D6),
                     array(0=>0x12D8, 1=>0x1310),
                     array(0=>0x1312, 1=>0x1315),
                     array(0=>0x1318, 1=>0x135A),
                     array(0=>0x1369, 1=>0x137C),
                     array(0=>0x1380, 1=>0x138F),
                     array(0=>0x13A0, 1=>0x13F4),
                     array(0=>0x1401, 1=>0x166C),
                     array(0=>0x166F, 1=>0x167F),
                     array(0=>0x1681, 1=>0x169A),
                     array(0=>0x16A0, 1=>0x16EA),
                     array(0=>0x16EE, 1=>0x16F0),
                     array(0=>0x1700, 1=>0x170C),
                     array(0=>0x170E, 1=>0x1711),
                     array(0=>0x1720, 1=>0x1731),
                     array(0=>0x1740, 1=>0x1751),
                     array(0=>0x1760, 1=>0x176C),
                     array(0=>0x176E, 1=>0x1770),
                     array(0=>0x1780, 1=>0x17B3),
                     array(0=>0x17D7, 1=>0x17D7),
                     array(0=>0x17DC, 1=>0x17DC),
                     array(0=>0x17E0, 1=>0x17E9),
                     array(0=>0x17F0, 1=>0x17F9),
                     array(0=>0x1810, 1=>0x1819),
                     array(0=>0x1820, 1=>0x1877),
                     array(0=>0x1880, 1=>0x18A8),
                     array(0=>0x18AA, 1=>0x18AA),
                     array(0=>0x18B0, 1=>0x18F5),
                     array(0=>0x1900, 1=>0x191C),
                     array(0=>0x1946, 1=>0x196D),
                     array(0=>0x1970, 1=>0x1974),
                     array(0=>0x1980, 1=>0x19AB),
                     array(0=>0x19C1, 1=>0x19C7),
                     array(0=>0x19D0, 1=>0x19DA),
                     array(0=>0x1A00, 1=>0x1A16),
                     array(0=>0x1A20, 1=>0x1A54),
                     array(0=>0x1A80, 1=>0x1A89),
                     array(0=>0x1A90, 1=>0x1A99),
                     array(0=>0x1AA7, 1=>0x1AA7),
                     array(0=>0x1B05, 1=>0x1B33),
                     array(0=>0x1B45, 1=>0x1B4B),
                     array(0=>0x1B50, 1=>0x1B59),
                     array(0=>0x1B83, 1=>0x1BA0),
                     array(0=>0x1BAE, 1=>0x1BE5),
                     array(0=>0x1C00, 1=>0x1C23),
                     array(0=>0x1C40, 1=>0x1C49),
                     array(0=>0x1C4D, 1=>0x1C7D),
                     array(0=>0x1CE9, 1=>0x1CEC),
                     array(0=>0x1CEE, 1=>0x1CF1),
                     array(0=>0x1CF5, 1=>0x1CF6),
                     array(0=>0x1D00, 1=>0x1DBF),
                     array(0=>0x1E00, 1=>0x1F15),
                     array(0=>0x1F18, 1=>0x1F1D),
                     array(0=>0x1F20, 1=>0x1F45),
                     array(0=>0x1F48, 1=>0x1F4D),
                     array(0=>0x1F50, 1=>0x1F57),
                     array(0=>0x1F59, 1=>0x1F59),
                     array(0=>0x1F5B, 1=>0x1F5B),
                     array(0=>0x1F5D, 1=>0x1F5D),
                     array(0=>0x1F5F, 1=>0x1F7D),
                     array(0=>0x1F80, 1=>0x1FB4),
                     array(0=>0x1FB6, 1=>0x1FBC),
                     array(0=>0x1FBE, 1=>0x1FBE),
                     array(0=>0x1FC2, 1=>0x1FC4),
                     array(0=>0x1FC6, 1=>0x1FCC),
                     array(0=>0x1FD0, 1=>0x1FD3),
                     array(0=>0x1FD6, 1=>0x1FDB),
                     array(0=>0x1FE0, 1=>0x1FEC),
                     array(0=>0x1FF2, 1=>0x1FF4),
                     array(0=>0x1FF6, 1=>0x1FFC),
                     array(0=>0x2070, 1=>0x2071),
                     array(0=>0x2074, 1=>0x2079),
                     array(0=>0x207F, 1=>0x2089),
                     array(0=>0x2090, 1=>0x209C),
                     array(0=>0x2102, 1=>0x2102),
                     array(0=>0x2107, 1=>0x2107),
                     array(0=>0x210A, 1=>0x2113),
                     array(0=>0x2115, 1=>0x2115),
                     array(0=>0x2119, 1=>0x211D),
                     array(0=>0x2124, 1=>0x2124),
                     array(0=>0x2126, 1=>0x2126),
                     array(0=>0x2128, 1=>0x2128),
                     array(0=>0x212A, 1=>0x212D),
                     array(0=>0x212F, 1=>0x2139),
                     array(0=>0x213C, 1=>0x213F),
                     array(0=>0x2145, 1=>0x2149),
                     array(0=>0x214E, 1=>0x214E),
                     array(0=>0x2150, 1=>0x2189),
                     array(0=>0x2460, 1=>0x249B),
                     array(0=>0x24EA, 1=>0x24FF),
                     array(0=>0x2776, 1=>0x2793),
                     array(0=>0x2C00, 1=>0x2C2E),
                     array(0=>0x2C30, 1=>0x2C5E),
                     array(0=>0x2C60, 1=>0x2CE4),
                     array(0=>0x2CEB, 1=>0x2CEE),
                     array(0=>0x2CF2, 1=>0x2CF3),
                     array(0=>0x2CFD, 1=>0x2CFD),
                     array(0=>0x2D00, 1=>0x2D25),
                     array(0=>0x2D27, 1=>0x2D27),
                     array(0=>0x2D2D, 1=>0x2D2D),
                     array(0=>0x2D30, 1=>0x2D67),
                     array(0=>0x2D6F, 1=>0x2D6F),
                     array(0=>0x2D80, 1=>0x2D96),
                     array(0=>0x2DA0, 1=>0x2DA6),
                     array(0=>0x2DA8, 1=>0x2DAE),
                     array(0=>0x2DB0, 1=>0x2DB6),
                     array(0=>0x2DB8, 1=>0x2DBE),
                     array(0=>0x2DC0, 1=>0x2DC6),
                     array(0=>0x2DC8, 1=>0x2DCE),
                     array(0=>0x2DD0, 1=>0x2DD6),
                     array(0=>0x2DD8, 1=>0x2DDE),
                     array(0=>0x2E2F, 1=>0x2E2F),
                     array(0=>0x3005, 1=>0x3007),
                     array(0=>0x3021, 1=>0x3029),
                     array(0=>0x3031, 1=>0x3035),
                     array(0=>0x3038, 1=>0x303C),
                     array(0=>0x3041, 1=>0x3096),
                     array(0=>0x309D, 1=>0x309F),
                     array(0=>0x30A1, 1=>0x30FA),
                     array(0=>0x30FC, 1=>0x30FF),
                     array(0=>0x3105, 1=>0x312D),
                     array(0=>0x3131, 1=>0x318E),
                     array(0=>0x3192, 1=>0x3195),
                     array(0=>0x31A0, 1=>0x31BA),
                     array(0=>0x31F0, 1=>0x31FF),
                     array(0=>0x3220, 1=>0x3229),
                     array(0=>0x3248, 1=>0x324F),
                     array(0=>0x3251, 1=>0x325F),
                     array(0=>0x3280, 1=>0x3289),
                     array(0=>0x32B1, 1=>0x32BF),
                     array(0=>0x3400, 1=>0x4DB5),
                     array(0=>0x4E00, 1=>0x9FCC),
                     array(0=>0xA000, 1=>0xA48C),
                     array(0=>0xA4D0, 1=>0xA4FD),
                     array(0=>0xA500, 1=>0xA60C),
                     array(0=>0xA610, 1=>0xA62B),
                     array(0=>0xA640, 1=>0xA66E),
                     array(0=>0xA67F, 1=>0xA697),
                     array(0=>0xA6A0, 1=>0xA6EF),
                     array(0=>0xA717, 1=>0xA71F),
                     array(0=>0xA722, 1=>0xA788),
                     array(0=>0xA78B, 1=>0xA78E),
                     array(0=>0xA790, 1=>0xA793),
                     array(0=>0xA7A0, 1=>0xA7AA),
                     array(0=>0xA7F8, 1=>0xA801),
                     array(0=>0xA803, 1=>0xA805),
                     array(0=>0xA807, 1=>0xA80A),
                     array(0=>0xA80C, 1=>0xA822),
                     array(0=>0xA830, 1=>0xA835),
                     array(0=>0xA840, 1=>0xA873),
                     array(0=>0xA882, 1=>0xA8B3),
                     array(0=>0xA8D0, 1=>0xA8D9),
                     array(0=>0xA8F2, 1=>0xA8F7),
                     array(0=>0xA8FB, 1=>0xA8FB),
                     array(0=>0xA900, 1=>0xA925),
                     array(0=>0xA930, 1=>0xA946),
                     array(0=>0xA960, 1=>0xA97C),
                     array(0=>0xA984, 1=>0xA9B2),
                     array(0=>0xA9CF, 1=>0xA9D9),
                     array(0=>0xAA00, 1=>0xAA28),
                     array(0=>0xAA40, 1=>0xAA42),
                     array(0=>0xAA44, 1=>0xAA4B),
                     array(0=>0xAA50, 1=>0xAA59),
                     array(0=>0xAA60, 1=>0xAA76),
                     array(0=>0xAA7A, 1=>0xAA7A),
                     array(0=>0xAA80, 1=>0xAAAF),
                     array(0=>0xAAB1, 1=>0xAAB1),
                     array(0=>0xAAB5, 1=>0xAAB6),
                     array(0=>0xAAB9, 1=>0xAABD),
                     array(0=>0xAAC0, 1=>0xAAC0),
                     array(0=>0xAAC2, 1=>0xAAC2),
                     array(0=>0xAADB, 1=>0xAADD),
                     array(0=>0xAAE0, 1=>0xAAEA),
                     array(0=>0xAAF2, 1=>0xAAF4),
                     array(0=>0xAB01, 1=>0xAB06),
                     array(0=>0xAB09, 1=>0xAB0E),
                     array(0=>0xAB11, 1=>0xAB16),
                     array(0=>0xAB20, 1=>0xAB26),
                     array(0=>0xAB28, 1=>0xAB2E),
                     array(0=>0xABC0, 1=>0xABE2),
                     array(0=>0xABF0, 1=>0xABF9),
                     array(0=>0xAC00, 1=>0xD7A3),
                     array(0=>0xD7B0, 1=>0xD7C6),
                     array(0=>0xD7CB, 1=>0xD7FB),
                     array(0=>0xF900, 1=>0xFA6D),
                     array(0=>0xFA70, 1=>0xFAD9),
                     array(0=>0xFB00, 1=>0xFB06),
                     array(0=>0xFB13, 1=>0xFB17),
                     array(0=>0xFB1D, 1=>0xFB1D),
                     array(0=>0xFB1F, 1=>0xFB28),
                     array(0=>0xFB2A, 1=>0xFB36),
                     array(0=>0xFB38, 1=>0xFB3C),
                     array(0=>0xFB3E, 1=>0xFB3E),
                     array(0=>0xFB40, 1=>0xFB41),
                     array(0=>0xFB43, 1=>0xFB44),
                     array(0=>0xFB46, 1=>0xFBB1),
                     array(0=>0xFBD3, 1=>0xFD3D),
                     array(0=>0xFD50, 1=>0xFD8F),
                     array(0=>0xFD92, 1=>0xFDC7),
                     array(0=>0xFDF0, 1=>0xFDFB),
                     array(0=>0xFE70, 1=>0xFE74),
                     array(0=>0xFE76, 1=>0xFEFC),
                     array(0=>0xFF10, 1=>0xFF19),
                     array(0=>0xFF21, 1=>0xFF3A),
                     array(0=>0xFF41, 1=>0xFF5A),
                     array(0=>0xFF66, 1=>0xFFBE),
                     array(0=>0xFFC2, 1=>0xFFC7),
                     array(0=>0xFFCA, 1=>0xFFCF),
                     array(0=>0xFFD2, 1=>0xFFD7),
                     array(0=>0xFFDA, 1=>0xFFDC),
                     array(0=>0x10000, 1=>0x1000B),
                     array(0=>0x1000D, 1=>0x10026),
                     array(0=>0x10028, 1=>0x1003A),
                     array(0=>0x1003C, 1=>0x1003D),
                     array(0=>0x1003F, 1=>0x1004D),
                     array(0=>0x10050, 1=>0x1005D),
                     array(0=>0x10080, 1=>0x100FA),
                     array(0=>0x10107, 1=>0x10133),
                     array(0=>0x10140, 1=>0x10178),
                     array(0=>0x1018A, 1=>0x1018A),
                     array(0=>0x10280, 1=>0x1029C),
                     array(0=>0x102A0, 1=>0x102D0),
                     array(0=>0x10300, 1=>0x1031E),
                     array(0=>0x10320, 1=>0x10323),
                     array(0=>0x10330, 1=>0x1034A),
                     array(0=>0x10380, 1=>0x1039D),
                     array(0=>0x103A0, 1=>0x103C3),
                     array(0=>0x103C8, 1=>0x103CF),
                     array(0=>0x103D1, 1=>0x103D5),
                     array(0=>0x10400, 1=>0x1049D),
                     array(0=>0x104A0, 1=>0x104A9),
                     array(0=>0x10800, 1=>0x10805),
                     array(0=>0x10808, 1=>0x10808),
                     array(0=>0x1080A, 1=>0x10835),
                     array(0=>0x10837, 1=>0x10838),
                     array(0=>0x1083C, 1=>0x1083C),
                     array(0=>0x1083F, 1=>0x10855),
                     array(0=>0x10858, 1=>0x1085F),
                     array(0=>0x10900, 1=>0x1091B),
                     array(0=>0x10920, 1=>0x10939),
                     array(0=>0x10980, 1=>0x109B7),
                     array(0=>0x109BE, 1=>0x109BF),
                     array(0=>0x10A00, 1=>0x10A00),
                     array(0=>0x10A10, 1=>0x10A13),
                     array(0=>0x10A15, 1=>0x10A17),
                     array(0=>0x10A19, 1=>0x10A33),
                     array(0=>0x10A40, 1=>0x10A47),
                     array(0=>0x10A60, 1=>0x10A7E),
                     array(0=>0x10B00, 1=>0x10B35),
                     array(0=>0x10B40, 1=>0x10B55),
                     array(0=>0x10B58, 1=>0x10B72),
                     array(0=>0x10B78, 1=>0x10B7F),
                     array(0=>0x10C00, 1=>0x10C48),
                     array(0=>0x10E60, 1=>0x10E7E),
                     array(0=>0x11003, 1=>0x11037),
                     array(0=>0x11052, 1=>0x1106F),
                     array(0=>0x11083, 1=>0x110AF),
                     array(0=>0x110D0, 1=>0x110E8),
                     array(0=>0x110F0, 1=>0x110F9),
                     array(0=>0x11103, 1=>0x11126),
                     array(0=>0x11136, 1=>0x1113F),
                     array(0=>0x11183, 1=>0x111B2),
                     array(0=>0x111C1, 1=>0x111C4),
                     array(0=>0x111D0, 1=>0x111D9),
                     array(0=>0x11680, 1=>0x116AA),
                     array(0=>0x116C0, 1=>0x116C9),
                     array(0=>0x12000, 1=>0x1236E),
                     array(0=>0x12400, 1=>0x12462),
                     array(0=>0x13000, 1=>0x1342E),
                     array(0=>0x16800, 1=>0x16A38),
                     array(0=>0x16F00, 1=>0x16F44),
                     array(0=>0x16F50, 1=>0x16F50),
                     array(0=>0x16F93, 1=>0x16F9F),
                     array(0=>0x1B000, 1=>0x1B001),
                     array(0=>0x1D360, 1=>0x1D371),
                     array(0=>0x1D400, 1=>0x1D454),
                     array(0=>0x1D456, 1=>0x1D49C),
                     array(0=>0x1D49E, 1=>0x1D49F),
                     array(0=>0x1D4A2, 1=>0x1D4A2),
                     array(0=>0x1D4A5, 1=>0x1D4A6),
                     array(0=>0x1D4A9, 1=>0x1D4AC),
                     array(0=>0x1D4AE, 1=>0x1D4B9),
                     array(0=>0x1D4BB, 1=>0x1D4BB),
                     array(0=>0x1D4BD, 1=>0x1D4C3),
                     array(0=>0x1D4C5, 1=>0x1D505),
                     array(0=>0x1D507, 1=>0x1D50A),
                     array(0=>0x1D50D, 1=>0x1D514),
                     array(0=>0x1D516, 1=>0x1D51C),
                     array(0=>0x1D51E, 1=>0x1D539),
                     array(0=>0x1D53B, 1=>0x1D53E),
                     array(0=>0x1D540, 1=>0x1D544),
                     array(0=>0x1D546, 1=>0x1D546),
                     array(0=>0x1D54A, 1=>0x1D550),
                     array(0=>0x1D552, 1=>0x1D6A5),
                     array(0=>0x1D6A8, 1=>0x1D6C0),
                     array(0=>0x1D6C2, 1=>0x1D6DA),
                     array(0=>0x1D6DC, 1=>0x1D6FA),
                     array(0=>0x1D6FC, 1=>0x1D714),
                     array(0=>0x1D716, 1=>0x1D734),
                     array(0=>0x1D736, 1=>0x1D74E),
                     array(0=>0x1D750, 1=>0x1D76E),
                     array(0=>0x1D770, 1=>0x1D788),
                     array(0=>0x1D78A, 1=>0x1D7A8),
                     array(0=>0x1D7AA, 1=>0x1D7C2),
                     array(0=>0x1D7C4, 1=>0x1D7CB),
                     array(0=>0x1D7CE, 1=>0x1D7FF),
                     array(0=>0x1EE00, 1=>0x1EE03),
                     array(0=>0x1EE05, 1=>0x1EE1F),
                     array(0=>0x1EE21, 1=>0x1EE22),
                     array(0=>0x1EE24, 1=>0x1EE24),
                     array(0=>0x1EE27, 1=>0x1EE27),
                     array(0=>0x1EE29, 1=>0x1EE32),
                     array(0=>0x1EE34, 1=>0x1EE37),
                     array(0=>0x1EE39, 1=>0x1EE39),
                     array(0=>0x1EE3B, 1=>0x1EE3B),
                     array(0=>0x1EE42, 1=>0x1EE42),
                     array(0=>0x1EE47, 1=>0x1EE47),
                     array(0=>0x1EE49, 1=>0x1EE49),
                     array(0=>0x1EE4B, 1=>0x1EE4B),
                     array(0=>0x1EE4D, 1=>0x1EE4F),
                     array(0=>0x1EE51, 1=>0x1EE52),
                     array(0=>0x1EE54, 1=>0x1EE54),
                     array(0=>0x1EE57, 1=>0x1EE57),
                     array(0=>0x1EE59, 1=>0x1EE59),
                     array(0=>0x1EE5B, 1=>0x1EE5B),
                     array(0=>0x1EE5D, 1=>0x1EE5D),
                     array(0=>0x1EE5F, 1=>0x1EE5F),
                     array(0=>0x1EE61, 1=>0x1EE62),
                     array(0=>0x1EE64, 1=>0x1EE64),
                     array(0=>0x1EE67, 1=>0x1EE6A),
                     array(0=>0x1EE6C, 1=>0x1EE72),
                     array(0=>0x1EE74, 1=>0x1EE77),
                     array(0=>0x1EE79, 1=>0x1EE7C),
                     array(0=>0x1EE7E, 1=>0x1EE7E),
                     array(0=>0x1EE80, 1=>0x1EE89),
                     array(0=>0x1EE8B, 1=>0x1EE9B),
                     array(0=>0x1EEA1, 1=>0x1EEA3),
                     array(0=>0x1EEA5, 1=>0x1EEA9),
                     array(0=>0x1EEAB, 1=>0x1EEBB),
                     array(0=>0x1F100, 1=>0x1F10A),
                     array(0=>0x20000, 1=>0x2A6D6),
                     array(0=>0x2A700, 1=>0x2B734),
                     array(0=>0x2B740, 1=>0x2B81D),
                     array(0=>0x2F800, 1=>0x2FA1D));
    }

    public static function Xps_ranges() {
        return array(array(0=>0x0009, 1=>0x000D),
                     array(0=>0x0020, 1=>0x0020),
                     array(0=>0x00A0, 1=>0x00A0),
                     array(0=>0x1680, 1=>0x1680),
                     array(0=>0x180E, 1=>0x180E),
                     array(0=>0x2000, 1=>0x200A),
                     array(0=>0x2028, 1=>0x2029),
                     array(0=>0x202F, 1=>0x202F),
                     array(0=>0x205F, 1=>0x205F),
                     array(0=>0x3000, 1=>0x3000));
    }

    public static function Xsp_ranges() {
        return array(array(0=>0x0009, 1=>0x000A),
                     array(0=>0x000C, 1=>0x000D),
                     array(0=>0x0020, 1=>0x0020),
                     array(0=>0x00A0, 1=>0x00A0),
                     array(0=>0x1680, 1=>0x1680),
                     array(0=>0x180E, 1=>0x180E),
                     array(0=>0x2000, 1=>0x200A),
                     array(0=>0x2028, 1=>0x2029),
                     array(0=>0x202F, 1=>0x202F),
                     array(0=>0x205F, 1=>0x205F),
                     array(0=>0x3000, 1=>0x3000));
    }

    public static function Xwd_ranges() {
        return array(array(0=>0x0030, 1=>0x0039),
                     array(0=>0x0041, 1=>0x005A),
                     array(0=>0x005F, 1=>0x005F),
                     array(0=>0x0061, 1=>0x007A),
                     array(0=>0x00AA, 1=>0x00AA),
                     array(0=>0x00B2, 1=>0x00B3),
                     array(0=>0x00B5, 1=>0x00B5),
                     array(0=>0x00B9, 1=>0x00BA),
                     array(0=>0x00BC, 1=>0x00BE),
                     array(0=>0x00C0, 1=>0x00D6),
                     array(0=>0x00D8, 1=>0x00F6),
                     array(0=>0x00F8, 1=>0x02C1),
                     array(0=>0x02C6, 1=>0x02D1),
                     array(0=>0x02E0, 1=>0x02E4),
                     array(0=>0x02EC, 1=>0x02EC),
                     array(0=>0x02EE, 1=>0x02EE),
                     array(0=>0x0370, 1=>0x0374),
                     array(0=>0x0376, 1=>0x0377),
                     array(0=>0x037A, 1=>0x037D),
                     array(0=>0x0386, 1=>0x0386),
                     array(0=>0x0388, 1=>0x038A),
                     array(0=>0x038C, 1=>0x038C),
                     array(0=>0x038E, 1=>0x03A1),
                     array(0=>0x03A3, 1=>0x03F5),
                     array(0=>0x03F7, 1=>0x0481),
                     array(0=>0x048A, 1=>0x0527),
                     array(0=>0x0531, 1=>0x0556),
                     array(0=>0x0559, 1=>0x0559),
                     array(0=>0x0561, 1=>0x0587),
                     array(0=>0x05D0, 1=>0x05EA),
                     array(0=>0x05F0, 1=>0x05F2),
                     array(0=>0x0620, 1=>0x064A),
                     array(0=>0x0660, 1=>0x0669),
                     array(0=>0x066E, 1=>0x066F),
                     array(0=>0x0671, 1=>0x06D3),
                     array(0=>0x06D5, 1=>0x06D5),
                     array(0=>0x06E5, 1=>0x06E6),
                     array(0=>0x06EE, 1=>0x06FC),
                     array(0=>0x06FF, 1=>0x06FF),
                     array(0=>0x0710, 1=>0x0710),
                     array(0=>0x0712, 1=>0x072F),
                     array(0=>0x074D, 1=>0x07A5),
                     array(0=>0x07B1, 1=>0x07B1),
                     array(0=>0x07C0, 1=>0x07EA),
                     array(0=>0x07F4, 1=>0x07F5),
                     array(0=>0x07FA, 1=>0x07FA),
                     array(0=>0x0800, 1=>0x0815),
                     array(0=>0x081A, 1=>0x081A),
                     array(0=>0x0824, 1=>0x0824),
                     array(0=>0x0828, 1=>0x0828),
                     array(0=>0x0840, 1=>0x0858),
                     array(0=>0x08A0, 1=>0x08A0),
                     array(0=>0x08A2, 1=>0x08AC),
                     array(0=>0x0904, 1=>0x0939),
                     array(0=>0x093D, 1=>0x093D),
                     array(0=>0x0950, 1=>0x0950),
                     array(0=>0x0958, 1=>0x0961),
                     array(0=>0x0966, 1=>0x096F),
                     array(0=>0x0971, 1=>0x0977),
                     array(0=>0x0979, 1=>0x097F),
                     array(0=>0x0985, 1=>0x098C),
                     array(0=>0x098F, 1=>0x0990),
                     array(0=>0x0993, 1=>0x09A8),
                     array(0=>0x09AA, 1=>0x09B0),
                     array(0=>0x09B2, 1=>0x09B2),
                     array(0=>0x09B6, 1=>0x09B9),
                     array(0=>0x09BD, 1=>0x09BD),
                     array(0=>0x09CE, 1=>0x09CE),
                     array(0=>0x09DC, 1=>0x09DD),
                     array(0=>0x09DF, 1=>0x09E1),
                     array(0=>0x09E6, 1=>0x09F1),
                     array(0=>0x09F4, 1=>0x09F9),
                     array(0=>0x0A05, 1=>0x0A0A),
                     array(0=>0x0A0F, 1=>0x0A10),
                     array(0=>0x0A13, 1=>0x0A28),
                     array(0=>0x0A2A, 1=>0x0A30),
                     array(0=>0x0A32, 1=>0x0A33),
                     array(0=>0x0A35, 1=>0x0A36),
                     array(0=>0x0A38, 1=>0x0A39),
                     array(0=>0x0A59, 1=>0x0A5C),
                     array(0=>0x0A5E, 1=>0x0A5E),
                     array(0=>0x0A66, 1=>0x0A6F),
                     array(0=>0x0A72, 1=>0x0A74),
                     array(0=>0x0A85, 1=>0x0A8D),
                     array(0=>0x0A8F, 1=>0x0A91),
                     array(0=>0x0A93, 1=>0x0AA8),
                     array(0=>0x0AAA, 1=>0x0AB0),
                     array(0=>0x0AB2, 1=>0x0AB3),
                     array(0=>0x0AB5, 1=>0x0AB9),
                     array(0=>0x0ABD, 1=>0x0ABD),
                     array(0=>0x0AD0, 1=>0x0AD0),
                     array(0=>0x0AE0, 1=>0x0AE1),
                     array(0=>0x0AE6, 1=>0x0AEF),
                     array(0=>0x0B05, 1=>0x0B0C),
                     array(0=>0x0B0F, 1=>0x0B10),
                     array(0=>0x0B13, 1=>0x0B28),
                     array(0=>0x0B2A, 1=>0x0B30),
                     array(0=>0x0B32, 1=>0x0B33),
                     array(0=>0x0B35, 1=>0x0B39),
                     array(0=>0x0B3D, 1=>0x0B3D),
                     array(0=>0x0B5C, 1=>0x0B5D),
                     array(0=>0x0B5F, 1=>0x0B61),
                     array(0=>0x0B66, 1=>0x0B6F),
                     array(0=>0x0B71, 1=>0x0B77),
                     array(0=>0x0B83, 1=>0x0B83),
                     array(0=>0x0B85, 1=>0x0B8A),
                     array(0=>0x0B8E, 1=>0x0B90),
                     array(0=>0x0B92, 1=>0x0B95),
                     array(0=>0x0B99, 1=>0x0B9A),
                     array(0=>0x0B9C, 1=>0x0B9C),
                     array(0=>0x0B9E, 1=>0x0B9F),
                     array(0=>0x0BA3, 1=>0x0BA4),
                     array(0=>0x0BA8, 1=>0x0BAA),
                     array(0=>0x0BAE, 1=>0x0BB9),
                     array(0=>0x0BD0, 1=>0x0BD0),
                     array(0=>0x0BE6, 1=>0x0BF2),
                     array(0=>0x0C05, 1=>0x0C0C),
                     array(0=>0x0C0E, 1=>0x0C10),
                     array(0=>0x0C12, 1=>0x0C28),
                     array(0=>0x0C2A, 1=>0x0C33),
                     array(0=>0x0C35, 1=>0x0C39),
                     array(0=>0x0C3D, 1=>0x0C3D),
                     array(0=>0x0C58, 1=>0x0C59),
                     array(0=>0x0C60, 1=>0x0C61),
                     array(0=>0x0C66, 1=>0x0C6F),
                     array(0=>0x0C78, 1=>0x0C7E),
                     array(0=>0x0C85, 1=>0x0C8C),
                     array(0=>0x0C8E, 1=>0x0C90),
                     array(0=>0x0C92, 1=>0x0CA8),
                     array(0=>0x0CAA, 1=>0x0CB3),
                     array(0=>0x0CB5, 1=>0x0CB9),
                     array(0=>0x0CBD, 1=>0x0CBD),
                     array(0=>0x0CDE, 1=>0x0CDE),
                     array(0=>0x0CE0, 1=>0x0CE1),
                     array(0=>0x0CE6, 1=>0x0CEF),
                     array(0=>0x0CF1, 1=>0x0CF2),
                     array(0=>0x0D05, 1=>0x0D0C),
                     array(0=>0x0D0E, 1=>0x0D10),
                     array(0=>0x0D12, 1=>0x0D3A),
                     array(0=>0x0D3D, 1=>0x0D3D),
                     array(0=>0x0D4E, 1=>0x0D4E),
                     array(0=>0x0D60, 1=>0x0D61),
                     array(0=>0x0D66, 1=>0x0D75),
                     array(0=>0x0D7A, 1=>0x0D7F),
                     array(0=>0x0D85, 1=>0x0D96),
                     array(0=>0x0D9A, 1=>0x0DB1),
                     array(0=>0x0DB3, 1=>0x0DBB),
                     array(0=>0x0DBD, 1=>0x0DBD),
                     array(0=>0x0DC0, 1=>0x0DC6),
                     array(0=>0x0E01, 1=>0x0E30),
                     array(0=>0x0E32, 1=>0x0E33),
                     array(0=>0x0E40, 1=>0x0E46),
                     array(0=>0x0E50, 1=>0x0E59),
                     array(0=>0x0E81, 1=>0x0E82),
                     array(0=>0x0E84, 1=>0x0E84),
                     array(0=>0x0E87, 1=>0x0E88),
                     array(0=>0x0E8A, 1=>0x0E8A),
                     array(0=>0x0E8D, 1=>0x0E8D),
                     array(0=>0x0E94, 1=>0x0E97),
                     array(0=>0x0E99, 1=>0x0E9F),
                     array(0=>0x0EA1, 1=>0x0EA3),
                     array(0=>0x0EA5, 1=>0x0EA5),
                     array(0=>0x0EA7, 1=>0x0EA7),
                     array(0=>0x0EAA, 1=>0x0EAB),
                     array(0=>0x0EAD, 1=>0x0EB0),
                     array(0=>0x0EB2, 1=>0x0EB3),
                     array(0=>0x0EBD, 1=>0x0EBD),
                     array(0=>0x0EC0, 1=>0x0EC4),
                     array(0=>0x0EC6, 1=>0x0EC6),
                     array(0=>0x0ED0, 1=>0x0ED9),
                     array(0=>0x0EDC, 1=>0x0EDF),
                     array(0=>0x0F00, 1=>0x0F00),
                     array(0=>0x0F20, 1=>0x0F33),
                     array(0=>0x0F40, 1=>0x0F47),
                     array(0=>0x0F49, 1=>0x0F6C),
                     array(0=>0x0F88, 1=>0x0F8C),
                     array(0=>0x1000, 1=>0x102A),
                     array(0=>0x103F, 1=>0x1049),
                     array(0=>0x1050, 1=>0x1055),
                     array(0=>0x105A, 1=>0x105D),
                     array(0=>0x1061, 1=>0x1061),
                     array(0=>0x1065, 1=>0x1066),
                     array(0=>0x106E, 1=>0x1070),
                     array(0=>0x1075, 1=>0x1081),
                     array(0=>0x108E, 1=>0x108E),
                     array(0=>0x1090, 1=>0x1099),
                     array(0=>0x10A0, 1=>0x10C5),
                     array(0=>0x10C7, 1=>0x10C7),
                     array(0=>0x10CD, 1=>0x10CD),
                     array(0=>0x10D0, 1=>0x10FA),
                     array(0=>0x10FC, 1=>0x1248),
                     array(0=>0x124A, 1=>0x124D),
                     array(0=>0x1250, 1=>0x1256),
                     array(0=>0x1258, 1=>0x1258),
                     array(0=>0x125A, 1=>0x125D),
                     array(0=>0x1260, 1=>0x1288),
                     array(0=>0x128A, 1=>0x128D),
                     array(0=>0x1290, 1=>0x12B0),
                     array(0=>0x12B2, 1=>0x12B5),
                     array(0=>0x12B8, 1=>0x12BE),
                     array(0=>0x12C0, 1=>0x12C0),
                     array(0=>0x12C2, 1=>0x12C5),
                     array(0=>0x12C8, 1=>0x12D6),
                     array(0=>0x12D8, 1=>0x1310),
                     array(0=>0x1312, 1=>0x1315),
                     array(0=>0x1318, 1=>0x135A),
                     array(0=>0x1369, 1=>0x137C),
                     array(0=>0x1380, 1=>0x138F),
                     array(0=>0x13A0, 1=>0x13F4),
                     array(0=>0x1401, 1=>0x166C),
                     array(0=>0x166F, 1=>0x167F),
                     array(0=>0x1681, 1=>0x169A),
                     array(0=>0x16A0, 1=>0x16EA),
                     array(0=>0x16EE, 1=>0x16F0),
                     array(0=>0x1700, 1=>0x170C),
                     array(0=>0x170E, 1=>0x1711),
                     array(0=>0x1720, 1=>0x1731),
                     array(0=>0x1740, 1=>0x1751),
                     array(0=>0x1760, 1=>0x176C),
                     array(0=>0x176E, 1=>0x1770),
                     array(0=>0x1780, 1=>0x17B3),
                     array(0=>0x17D7, 1=>0x17D7),
                     array(0=>0x17DC, 1=>0x17DC),
                     array(0=>0x17E0, 1=>0x17E9),
                     array(0=>0x17F0, 1=>0x17F9),
                     array(0=>0x1810, 1=>0x1819),
                     array(0=>0x1820, 1=>0x1877),
                     array(0=>0x1880, 1=>0x18A8),
                     array(0=>0x18AA, 1=>0x18AA),
                     array(0=>0x18B0, 1=>0x18F5),
                     array(0=>0x1900, 1=>0x191C),
                     array(0=>0x1946, 1=>0x196D),
                     array(0=>0x1970, 1=>0x1974),
                     array(0=>0x1980, 1=>0x19AB),
                     array(0=>0x19C1, 1=>0x19C7),
                     array(0=>0x19D0, 1=>0x19DA),
                     array(0=>0x1A00, 1=>0x1A16),
                     array(0=>0x1A20, 1=>0x1A54),
                     array(0=>0x1A80, 1=>0x1A89),
                     array(0=>0x1A90, 1=>0x1A99),
                     array(0=>0x1AA7, 1=>0x1AA7),
                     array(0=>0x1B05, 1=>0x1B33),
                     array(0=>0x1B45, 1=>0x1B4B),
                     array(0=>0x1B50, 1=>0x1B59),
                     array(0=>0x1B83, 1=>0x1BA0),
                     array(0=>0x1BAE, 1=>0x1BE5),
                     array(0=>0x1C00, 1=>0x1C23),
                     array(0=>0x1C40, 1=>0x1C49),
                     array(0=>0x1C4D, 1=>0x1C7D),
                     array(0=>0x1CE9, 1=>0x1CEC),
                     array(0=>0x1CEE, 1=>0x1CF1),
                     array(0=>0x1CF5, 1=>0x1CF6),
                     array(0=>0x1D00, 1=>0x1DBF),
                     array(0=>0x1E00, 1=>0x1F15),
                     array(0=>0x1F18, 1=>0x1F1D),
                     array(0=>0x1F20, 1=>0x1F45),
                     array(0=>0x1F48, 1=>0x1F4D),
                     array(0=>0x1F50, 1=>0x1F57),
                     array(0=>0x1F59, 1=>0x1F59),
                     array(0=>0x1F5B, 1=>0x1F5B),
                     array(0=>0x1F5D, 1=>0x1F5D),
                     array(0=>0x1F5F, 1=>0x1F7D),
                     array(0=>0x1F80, 1=>0x1FB4),
                     array(0=>0x1FB6, 1=>0x1FBC),
                     array(0=>0x1FBE, 1=>0x1FBE),
                     array(0=>0x1FC2, 1=>0x1FC4),
                     array(0=>0x1FC6, 1=>0x1FCC),
                     array(0=>0x1FD0, 1=>0x1FD3),
                     array(0=>0x1FD6, 1=>0x1FDB),
                     array(0=>0x1FE0, 1=>0x1FEC),
                     array(0=>0x1FF2, 1=>0x1FF4),
                     array(0=>0x1FF6, 1=>0x1FFC),
                     array(0=>0x2070, 1=>0x2071),
                     array(0=>0x2074, 1=>0x2079),
                     array(0=>0x207F, 1=>0x2089),
                     array(0=>0x2090, 1=>0x209C),
                     array(0=>0x2102, 1=>0x2102),
                     array(0=>0x2107, 1=>0x2107),
                     array(0=>0x210A, 1=>0x2113),
                     array(0=>0x2115, 1=>0x2115),
                     array(0=>0x2119, 1=>0x211D),
                     array(0=>0x2124, 1=>0x2124),
                     array(0=>0x2126, 1=>0x2126),
                     array(0=>0x2128, 1=>0x2128),
                     array(0=>0x212A, 1=>0x212D),
                     array(0=>0x212F, 1=>0x2139),
                     array(0=>0x213C, 1=>0x213F),
                     array(0=>0x2145, 1=>0x2149),
                     array(0=>0x214E, 1=>0x214E),
                     array(0=>0x2150, 1=>0x2189),
                     array(0=>0x2460, 1=>0x249B),
                     array(0=>0x24EA, 1=>0x24FF),
                     array(0=>0x2776, 1=>0x2793),
                     array(0=>0x2C00, 1=>0x2C2E),
                     array(0=>0x2C30, 1=>0x2C5E),
                     array(0=>0x2C60, 1=>0x2CE4),
                     array(0=>0x2CEB, 1=>0x2CEE),
                     array(0=>0x2CF2, 1=>0x2CF3),
                     array(0=>0x2CFD, 1=>0x2CFD),
                     array(0=>0x2D00, 1=>0x2D25),
                     array(0=>0x2D27, 1=>0x2D27),
                     array(0=>0x2D2D, 1=>0x2D2D),
                     array(0=>0x2D30, 1=>0x2D67),
                     array(0=>0x2D6F, 1=>0x2D6F),
                     array(0=>0x2D80, 1=>0x2D96),
                     array(0=>0x2DA0, 1=>0x2DA6),
                     array(0=>0x2DA8, 1=>0x2DAE),
                     array(0=>0x2DB0, 1=>0x2DB6),
                     array(0=>0x2DB8, 1=>0x2DBE),
                     array(0=>0x2DC0, 1=>0x2DC6),
                     array(0=>0x2DC8, 1=>0x2DCE),
                     array(0=>0x2DD0, 1=>0x2DD6),
                     array(0=>0x2DD8, 1=>0x2DDE),
                     array(0=>0x2E2F, 1=>0x2E2F),
                     array(0=>0x3005, 1=>0x3007),
                     array(0=>0x3021, 1=>0x3029),
                     array(0=>0x3031, 1=>0x3035),
                     array(0=>0x3038, 1=>0x303C),
                     array(0=>0x3041, 1=>0x3096),
                     array(0=>0x309D, 1=>0x309F),
                     array(0=>0x30A1, 1=>0x30FA),
                     array(0=>0x30FC, 1=>0x30FF),
                     array(0=>0x3105, 1=>0x312D),
                     array(0=>0x3131, 1=>0x318E),
                     array(0=>0x3192, 1=>0x3195),
                     array(0=>0x31A0, 1=>0x31BA),
                     array(0=>0x31F0, 1=>0x31FF),
                     array(0=>0x3220, 1=>0x3229),
                     array(0=>0x3248, 1=>0x324F),
                     array(0=>0x3251, 1=>0x325F),
                     array(0=>0x3280, 1=>0x3289),
                     array(0=>0x32B1, 1=>0x32BF),
                     array(0=>0x3400, 1=>0x4DB5),
                     array(0=>0x4E00, 1=>0x9FCC),
                     array(0=>0xA000, 1=>0xA48C),
                     array(0=>0xA4D0, 1=>0xA4FD),
                     array(0=>0xA500, 1=>0xA60C),
                     array(0=>0xA610, 1=>0xA62B),
                     array(0=>0xA640, 1=>0xA66E),
                     array(0=>0xA67F, 1=>0xA697),
                     array(0=>0xA6A0, 1=>0xA6EF),
                     array(0=>0xA717, 1=>0xA71F),
                     array(0=>0xA722, 1=>0xA788),
                     array(0=>0xA78B, 1=>0xA78E),
                     array(0=>0xA790, 1=>0xA793),
                     array(0=>0xA7A0, 1=>0xA7AA),
                     array(0=>0xA7F8, 1=>0xA801),
                     array(0=>0xA803, 1=>0xA805),
                     array(0=>0xA807, 1=>0xA80A),
                     array(0=>0xA80C, 1=>0xA822),
                     array(0=>0xA830, 1=>0xA835),
                     array(0=>0xA840, 1=>0xA873),
                     array(0=>0xA882, 1=>0xA8B3),
                     array(0=>0xA8D0, 1=>0xA8D9),
                     array(0=>0xA8F2, 1=>0xA8F7),
                     array(0=>0xA8FB, 1=>0xA8FB),
                     array(0=>0xA900, 1=>0xA925),
                     array(0=>0xA930, 1=>0xA946),
                     array(0=>0xA960, 1=>0xA97C),
                     array(0=>0xA984, 1=>0xA9B2),
                     array(0=>0xA9CF, 1=>0xA9D9),
                     array(0=>0xAA00, 1=>0xAA28),
                     array(0=>0xAA40, 1=>0xAA42),
                     array(0=>0xAA44, 1=>0xAA4B),
                     array(0=>0xAA50, 1=>0xAA59),
                     array(0=>0xAA60, 1=>0xAA76),
                     array(0=>0xAA7A, 1=>0xAA7A),
                     array(0=>0xAA80, 1=>0xAAAF),
                     array(0=>0xAAB1, 1=>0xAAB1),
                     array(0=>0xAAB5, 1=>0xAAB6),
                     array(0=>0xAAB9, 1=>0xAABD),
                     array(0=>0xAAC0, 1=>0xAAC0),
                     array(0=>0xAAC2, 1=>0xAAC2),
                     array(0=>0xAADB, 1=>0xAADD),
                     array(0=>0xAAE0, 1=>0xAAEA),
                     array(0=>0xAAF2, 1=>0xAAF4),
                     array(0=>0xAB01, 1=>0xAB06),
                     array(0=>0xAB09, 1=>0xAB0E),
                     array(0=>0xAB11, 1=>0xAB16),
                     array(0=>0xAB20, 1=>0xAB26),
                     array(0=>0xAB28, 1=>0xAB2E),
                     array(0=>0xABC0, 1=>0xABE2),
                     array(0=>0xABF0, 1=>0xABF9),
                     array(0=>0xAC00, 1=>0xD7A3),
                     array(0=>0xD7B0, 1=>0xD7C6),
                     array(0=>0xD7CB, 1=>0xD7FB),
                     array(0=>0xF900, 1=>0xFA6D),
                     array(0=>0xFA70, 1=>0xFAD9),
                     array(0=>0xFB00, 1=>0xFB06),
                     array(0=>0xFB13, 1=>0xFB17),
                     array(0=>0xFB1D, 1=>0xFB1D),
                     array(0=>0xFB1F, 1=>0xFB28),
                     array(0=>0xFB2A, 1=>0xFB36),
                     array(0=>0xFB38, 1=>0xFB3C),
                     array(0=>0xFB3E, 1=>0xFB3E),
                     array(0=>0xFB40, 1=>0xFB41),
                     array(0=>0xFB43, 1=>0xFB44),
                     array(0=>0xFB46, 1=>0xFBB1),
                     array(0=>0xFBD3, 1=>0xFD3D),
                     array(0=>0xFD50, 1=>0xFD8F),
                     array(0=>0xFD92, 1=>0xFDC7),
                     array(0=>0xFDF0, 1=>0xFDFB),
                     array(0=>0xFE70, 1=>0xFE74),
                     array(0=>0xFE76, 1=>0xFEFC),
                     array(0=>0xFF10, 1=>0xFF19),
                     array(0=>0xFF21, 1=>0xFF3A),
                     array(0=>0xFF41, 1=>0xFF5A),
                     array(0=>0xFF66, 1=>0xFFBE),
                     array(0=>0xFFC2, 1=>0xFFC7),
                     array(0=>0xFFCA, 1=>0xFFCF),
                     array(0=>0xFFD2, 1=>0xFFD7),
                     array(0=>0xFFDA, 1=>0xFFDC),
                     array(0=>0x10000, 1=>0x1000B),
                     array(0=>0x1000D, 1=>0x10026),
                     array(0=>0x10028, 1=>0x1003A),
                     array(0=>0x1003C, 1=>0x1003D),
                     array(0=>0x1003F, 1=>0x1004D),
                     array(0=>0x10050, 1=>0x1005D),
                     array(0=>0x10080, 1=>0x100FA),
                     array(0=>0x10107, 1=>0x10133),
                     array(0=>0x10140, 1=>0x10178),
                     array(0=>0x1018A, 1=>0x1018A),
                     array(0=>0x10280, 1=>0x1029C),
                     array(0=>0x102A0, 1=>0x102D0),
                     array(0=>0x10300, 1=>0x1031E),
                     array(0=>0x10320, 1=>0x10323),
                     array(0=>0x10330, 1=>0x1034A),
                     array(0=>0x10380, 1=>0x1039D),
                     array(0=>0x103A0, 1=>0x103C3),
                     array(0=>0x103C8, 1=>0x103CF),
                     array(0=>0x103D1, 1=>0x103D5),
                     array(0=>0x10400, 1=>0x1049D),
                     array(0=>0x104A0, 1=>0x104A9),
                     array(0=>0x10800, 1=>0x10805),
                     array(0=>0x10808, 1=>0x10808),
                     array(0=>0x1080A, 1=>0x10835),
                     array(0=>0x10837, 1=>0x10838),
                     array(0=>0x1083C, 1=>0x1083C),
                     array(0=>0x1083F, 1=>0x10855),
                     array(0=>0x10858, 1=>0x1085F),
                     array(0=>0x10900, 1=>0x1091B),
                     array(0=>0x10920, 1=>0x10939),
                     array(0=>0x10980, 1=>0x109B7),
                     array(0=>0x109BE, 1=>0x109BF),
                     array(0=>0x10A00, 1=>0x10A00),
                     array(0=>0x10A10, 1=>0x10A13),
                     array(0=>0x10A15, 1=>0x10A17),
                     array(0=>0x10A19, 1=>0x10A33),
                     array(0=>0x10A40, 1=>0x10A47),
                     array(0=>0x10A60, 1=>0x10A7E),
                     array(0=>0x10B00, 1=>0x10B35),
                     array(0=>0x10B40, 1=>0x10B55),
                     array(0=>0x10B58, 1=>0x10B72),
                     array(0=>0x10B78, 1=>0x10B7F),
                     array(0=>0x10C00, 1=>0x10C48),
                     array(0=>0x10E60, 1=>0x10E7E),
                     array(0=>0x11003, 1=>0x11037),
                     array(0=>0x11052, 1=>0x1106F),
                     array(0=>0x11083, 1=>0x110AF),
                     array(0=>0x110D0, 1=>0x110E8),
                     array(0=>0x110F0, 1=>0x110F9),
                     array(0=>0x11103, 1=>0x11126),
                     array(0=>0x11136, 1=>0x1113F),
                     array(0=>0x11183, 1=>0x111B2),
                     array(0=>0x111C1, 1=>0x111C4),
                     array(0=>0x111D0, 1=>0x111D9),
                     array(0=>0x11680, 1=>0x116AA),
                     array(0=>0x116C0, 1=>0x116C9),
                     array(0=>0x12000, 1=>0x1236E),
                     array(0=>0x12400, 1=>0x12462),
                     array(0=>0x13000, 1=>0x1342E),
                     array(0=>0x16800, 1=>0x16A38),
                     array(0=>0x16F00, 1=>0x16F44),
                     array(0=>0x16F50, 1=>0x16F50),
                     array(0=>0x16F93, 1=>0x16F9F),
                     array(0=>0x1B000, 1=>0x1B001),
                     array(0=>0x1D360, 1=>0x1D371),
                     array(0=>0x1D400, 1=>0x1D454),
                     array(0=>0x1D456, 1=>0x1D49C),
                     array(0=>0x1D49E, 1=>0x1D49F),
                     array(0=>0x1D4A2, 1=>0x1D4A2),
                     array(0=>0x1D4A5, 1=>0x1D4A6),
                     array(0=>0x1D4A9, 1=>0x1D4AC),
                     array(0=>0x1D4AE, 1=>0x1D4B9),
                     array(0=>0x1D4BB, 1=>0x1D4BB),
                     array(0=>0x1D4BD, 1=>0x1D4C3),
                     array(0=>0x1D4C5, 1=>0x1D505),
                     array(0=>0x1D507, 1=>0x1D50A),
                     array(0=>0x1D50D, 1=>0x1D514),
                     array(0=>0x1D516, 1=>0x1D51C),
                     array(0=>0x1D51E, 1=>0x1D539),
                     array(0=>0x1D53B, 1=>0x1D53E),
                     array(0=>0x1D540, 1=>0x1D544),
                     array(0=>0x1D546, 1=>0x1D546),
                     array(0=>0x1D54A, 1=>0x1D550),
                     array(0=>0x1D552, 1=>0x1D6A5),
                     array(0=>0x1D6A8, 1=>0x1D6C0),
                     array(0=>0x1D6C2, 1=>0x1D6DA),
                     array(0=>0x1D6DC, 1=>0x1D6FA),
                     array(0=>0x1D6FC, 1=>0x1D714),
                     array(0=>0x1D716, 1=>0x1D734),
                     array(0=>0x1D736, 1=>0x1D74E),
                     array(0=>0x1D750, 1=>0x1D76E),
                     array(0=>0x1D770, 1=>0x1D788),
                     array(0=>0x1D78A, 1=>0x1D7A8),
                     array(0=>0x1D7AA, 1=>0x1D7C2),
                     array(0=>0x1D7C4, 1=>0x1D7CB),
                     array(0=>0x1D7CE, 1=>0x1D7FF),
                     array(0=>0x1EE00, 1=>0x1EE03),
                     array(0=>0x1EE05, 1=>0x1EE1F),
                     array(0=>0x1EE21, 1=>0x1EE22),
                     array(0=>0x1EE24, 1=>0x1EE24),
                     array(0=>0x1EE27, 1=>0x1EE27),
                     array(0=>0x1EE29, 1=>0x1EE32),
                     array(0=>0x1EE34, 1=>0x1EE37),
                     array(0=>0x1EE39, 1=>0x1EE39),
                     array(0=>0x1EE3B, 1=>0x1EE3B),
                     array(0=>0x1EE42, 1=>0x1EE42),
                     array(0=>0x1EE47, 1=>0x1EE47),
                     array(0=>0x1EE49, 1=>0x1EE49),
                     array(0=>0x1EE4B, 1=>0x1EE4B),
                     array(0=>0x1EE4D, 1=>0x1EE4F),
                     array(0=>0x1EE51, 1=>0x1EE52),
                     array(0=>0x1EE54, 1=>0x1EE54),
                     array(0=>0x1EE57, 1=>0x1EE57),
                     array(0=>0x1EE59, 1=>0x1EE59),
                     array(0=>0x1EE5B, 1=>0x1EE5B),
                     array(0=>0x1EE5D, 1=>0x1EE5D),
                     array(0=>0x1EE5F, 1=>0x1EE5F),
                     array(0=>0x1EE61, 1=>0x1EE62),
                     array(0=>0x1EE64, 1=>0x1EE64),
                     array(0=>0x1EE67, 1=>0x1EE6A),
                     array(0=>0x1EE6C, 1=>0x1EE72),
                     array(0=>0x1EE74, 1=>0x1EE77),
                     array(0=>0x1EE79, 1=>0x1EE7C),
                     array(0=>0x1EE7E, 1=>0x1EE7E),
                     array(0=>0x1EE80, 1=>0x1EE89),
                     array(0=>0x1EE8B, 1=>0x1EE9B),
                     array(0=>0x1EEA1, 1=>0x1EEA3),
                     array(0=>0x1EEA5, 1=>0x1EEA9),
                     array(0=>0x1EEAB, 1=>0x1EEBB),
                     array(0=>0x1F100, 1=>0x1F10A),
                     array(0=>0x20000, 1=>0x2A6D6),
                     array(0=>0x2A700, 1=>0x2B734),
                     array(0=>0x2B740, 1=>0x2B81D),
                     array(0=>0x2F800, 1=>0x2FA1D));
    }

    public static function Arabic_ranges() {
        return array(array(0=>0x0600, 1=>0x0604),
                     array(0=>0x0606, 1=>0x060B),
                     array(0=>0x060D, 1=>0x061A),
                     array(0=>0x061E, 1=>0x061E),
                     array(0=>0x0620, 1=>0x063F),
                     array(0=>0x0641, 1=>0x064A),
                     array(0=>0x0656, 1=>0x065F),
                     array(0=>0x066A, 1=>0x066F),
                     array(0=>0x0671, 1=>0x06DC),
                     array(0=>0x06DE, 1=>0x06FF),
                     array(0=>0x0750, 1=>0x077F),
                     array(0=>0x08A0, 1=>0x08A0),
                     array(0=>0x08A2, 1=>0x08AC),
                     array(0=>0x08E4, 1=>0x08FE),
                     array(0=>0xFB50, 1=>0xFBC1),
                     array(0=>0xFBD3, 1=>0xFD3D),
                     array(0=>0xFD50, 1=>0xFD8F),
                     array(0=>0xFD92, 1=>0xFDC7),
                     array(0=>0xFDF0, 1=>0xFDFC),
                     array(0=>0xFE70, 1=>0xFE74),
                     array(0=>0xFE76, 1=>0xFEFC),
                     array(0=>0x10E60, 1=>0x10E7E),
                     array(0=>0x1EE00, 1=>0x1EE03),
                     array(0=>0x1EE05, 1=>0x1EE1F),
                     array(0=>0x1EE21, 1=>0x1EE22),
                     array(0=>0x1EE24, 1=>0x1EE24),
                     array(0=>0x1EE27, 1=>0x1EE27),
                     array(0=>0x1EE29, 1=>0x1EE32),
                     array(0=>0x1EE34, 1=>0x1EE37),
                     array(0=>0x1EE39, 1=>0x1EE39),
                     array(0=>0x1EE3B, 1=>0x1EE3B),
                     array(0=>0x1EE42, 1=>0x1EE42),
                     array(0=>0x1EE47, 1=>0x1EE47),
                     array(0=>0x1EE49, 1=>0x1EE49),
                     array(0=>0x1EE4B, 1=>0x1EE4B),
                     array(0=>0x1EE4D, 1=>0x1EE4F),
                     array(0=>0x1EE51, 1=>0x1EE52),
                     array(0=>0x1EE54, 1=>0x1EE54),
                     array(0=>0x1EE57, 1=>0x1EE57),
                     array(0=>0x1EE59, 1=>0x1EE59),
                     array(0=>0x1EE5B, 1=>0x1EE5B),
                     array(0=>0x1EE5D, 1=>0x1EE5D),
                     array(0=>0x1EE5F, 1=>0x1EE5F),
                     array(0=>0x1EE61, 1=>0x1EE62),
                     array(0=>0x1EE64, 1=>0x1EE64),
                     array(0=>0x1EE67, 1=>0x1EE6A),
                     array(0=>0x1EE6C, 1=>0x1EE72),
                     array(0=>0x1EE74, 1=>0x1EE77),
                     array(0=>0x1EE79, 1=>0x1EE7C),
                     array(0=>0x1EE7E, 1=>0x1EE7E),
                     array(0=>0x1EE80, 1=>0x1EE89),
                     array(0=>0x1EE8B, 1=>0x1EE9B),
                     array(0=>0x1EEA1, 1=>0x1EEA3),
                     array(0=>0x1EEA5, 1=>0x1EEA9),
                     array(0=>0x1EEAB, 1=>0x1EEBB),
                     array(0=>0x1EEF0, 1=>0x1EEF1));
    }

    public static function Armenian_ranges() {
        return array(array(0=>0x0531, 1=>0x0556),
                     array(0=>0x0559, 1=>0x055F),
                     array(0=>0x0561, 1=>0x0587),
                     array(0=>0x058A, 1=>0x058A),
                     array(0=>0x058F, 1=>0x058F),
                     array(0=>0xFB13, 1=>0xFB17));
    }

    public static function Avestan_ranges() {
        return array(array(0=>0x10B00, 1=>0x10B35),
                     array(0=>0x10B39, 1=>0x10B3F));
    }

    public static function Balinese_ranges() {
        return array(array(0=>0x1B00, 1=>0x1B4B),
                     array(0=>0x1B50, 1=>0x1B7C));
    }

    public static function Bamum_ranges() {
        return array(array(0=>0xA6A0, 1=>0xA6F7),
                     array(0=>0x16800, 1=>0x16A38));
    }

    public static function Bengali_ranges() {
        return array(array(0=>0x0981, 1=>0x0983),
                     array(0=>0x0985, 1=>0x098C),
                     array(0=>0x098F, 1=>0x0990),
                     array(0=>0x0993, 1=>0x09A8),
                     array(0=>0x09AA, 1=>0x09B0),
                     array(0=>0x09B2, 1=>0x09B2),
                     array(0=>0x09B6, 1=>0x09B9),
                     array(0=>0x09BC, 1=>0x09C4),
                     array(0=>0x09C7, 1=>0x09C8),
                     array(0=>0x09CB, 1=>0x09CE),
                     array(0=>0x09D7, 1=>0x09D7),
                     array(0=>0x09DC, 1=>0x09DD),
                     array(0=>0x09DF, 1=>0x09E3),
                     array(0=>0x09E6, 1=>0x09FB));
    }

    public static function Bopomofo_ranges() {
        return array(array(0=>0x02EA, 1=>0x02EB),
                     array(0=>0x3105, 1=>0x312D),
                     array(0=>0x31A0, 1=>0x31BA));
    }

    public static function Braille_ranges() {
        return array(array(0=>0x2800, 1=>0x28FF));
    }

    public static function Buginese_ranges() {
        return array(array(0=>0x1A00, 1=>0x1A1B),
                     array(0=>0x1A1E, 1=>0x1A1F));
    }

    public static function Buhid_ranges() {
        return array(array(0=>0x1740, 1=>0x1753));
    }

    public static function Canadian_Aboriginal_ranges() {
        return array(array(0=>0x1400, 1=>0x167F),
                     array(0=>0x18B0, 1=>0x18F5));
    }

    public static function Carian_ranges() {
        return array(array(0=>0x102A0, 1=>0x102D0));
    }

    public static function Cham_ranges() {
        return array(array(0=>0xAA00, 1=>0xAA36),
                     array(0=>0xAA40, 1=>0xAA4D),
                     array(0=>0xAA50, 1=>0xAA59),
                     array(0=>0xAA5C, 1=>0xAA5F));
    }

    public static function Cherokee_ranges() {
        return array(array(0=>0x13A0, 1=>0x13F4));
    }

    public static function Common_ranges() {
        return array(array(0=>0x0000, 1=>0x0040),
                     array(0=>0x005B, 1=>0x0060),
                     array(0=>0x007B, 1=>0x00A9),
                     array(0=>0x00AB, 1=>0x00B9),
                     array(0=>0x00BB, 1=>0x00BF),
                     array(0=>0x00D7, 1=>0x00D7),
                     array(0=>0x00F7, 1=>0x00F7),
                     array(0=>0x02B9, 1=>0x02DF),
                     array(0=>0x02E5, 1=>0x02E9),
                     array(0=>0x02EC, 1=>0x02FF),
                     array(0=>0x0374, 1=>0x0374),
                     array(0=>0x0378, 1=>0x0379),
                     array(0=>0x037E, 1=>0x0383),
                     array(0=>0x0385, 1=>0x0385),
                     array(0=>0x0387, 1=>0x0387),
                     array(0=>0x038B, 1=>0x038B),
                     array(0=>0x038D, 1=>0x038D),
                     array(0=>0x03A2, 1=>0x03A2),
                     array(0=>0x0528, 1=>0x0530),
                     array(0=>0x0557, 1=>0x0558),
                     array(0=>0x0560, 1=>0x0560),
                     array(0=>0x0588, 1=>0x0589),
                     array(0=>0x058B, 1=>0x058E),
                     array(0=>0x0590, 1=>0x0590),
                     array(0=>0x05C8, 1=>0x05CF),
                     array(0=>0x05EB, 1=>0x05EF),
                     array(0=>0x05F5, 1=>0x05FF),
                     array(0=>0x0605, 1=>0x0605),
                     array(0=>0x060C, 1=>0x060C),
                     array(0=>0x061B, 1=>0x061D),
                     array(0=>0x061F, 1=>0x061F),
                     array(0=>0x0640, 1=>0x0640),
                     array(0=>0x0660, 1=>0x0669),
                     array(0=>0x06DD, 1=>0x06DD),
                     array(0=>0x070E, 1=>0x070E),
                     array(0=>0x074B, 1=>0x074C),
                     array(0=>0x07B2, 1=>0x07BF),
                     array(0=>0x07FB, 1=>0x07FF),
                     array(0=>0x082E, 1=>0x082F),
                     array(0=>0x083F, 1=>0x083F),
                     array(0=>0x085C, 1=>0x085D),
                     array(0=>0x085F, 1=>0x089F),
                     array(0=>0x08A1, 1=>0x08A1),
                     array(0=>0x08AD, 1=>0x08E3),
                     array(0=>0x08FF, 1=>0x08FF),
                     array(0=>0x0964, 1=>0x0965),
                     array(0=>0x0978, 1=>0x0978),
                     array(0=>0x0980, 1=>0x0980),
                     array(0=>0x0984, 1=>0x0984),
                     array(0=>0x098D, 1=>0x098E),
                     array(0=>0x0991, 1=>0x0992),
                     array(0=>0x09A9, 1=>0x09A9),
                     array(0=>0x09B1, 1=>0x09B1),
                     array(0=>0x09B3, 1=>0x09B5),
                     array(0=>0x09BA, 1=>0x09BB),
                     array(0=>0x09C5, 1=>0x09C6),
                     array(0=>0x09C9, 1=>0x09CA),
                     array(0=>0x09CF, 1=>0x09D6),
                     array(0=>0x09D8, 1=>0x09DB),
                     array(0=>0x09DE, 1=>0x09DE),
                     array(0=>0x09E4, 1=>0x09E5),
                     array(0=>0x09FC, 1=>0x0A00),
                     array(0=>0x0A04, 1=>0x0A04),
                     array(0=>0x0A0B, 1=>0x0A0E),
                     array(0=>0x0A11, 1=>0x0A12),
                     array(0=>0x0A29, 1=>0x0A29),
                     array(0=>0x0A31, 1=>0x0A31),
                     array(0=>0x0A34, 1=>0x0A34),
                     array(0=>0x0A37, 1=>0x0A37),
                     array(0=>0x0A3A, 1=>0x0A3B),
                     array(0=>0x0A3D, 1=>0x0A3D),
                     array(0=>0x0A43, 1=>0x0A46),
                     array(0=>0x0A49, 1=>0x0A4A),
                     array(0=>0x0A4E, 1=>0x0A50),
                     array(0=>0x0A52, 1=>0x0A58),
                     array(0=>0x0A5D, 1=>0x0A5D),
                     array(0=>0x0A5F, 1=>0x0A65),
                     array(0=>0x0A76, 1=>0x0A80),
                     array(0=>0x0A84, 1=>0x0A84),
                     array(0=>0x0A8E, 1=>0x0A8E),
                     array(0=>0x0A92, 1=>0x0A92),
                     array(0=>0x0AA9, 1=>0x0AA9),
                     array(0=>0x0AB1, 1=>0x0AB1),
                     array(0=>0x0AB4, 1=>0x0AB4),
                     array(0=>0x0ABA, 1=>0x0ABB),
                     array(0=>0x0AC6, 1=>0x0AC6),
                     array(0=>0x0ACA, 1=>0x0ACA),
                     array(0=>0x0ACE, 1=>0x0ACF),
                     array(0=>0x0AD1, 1=>0x0ADF),
                     array(0=>0x0AE4, 1=>0x0AE5),
                     array(0=>0x0AF2, 1=>0x0B00),
                     array(0=>0x0B04, 1=>0x0B04),
                     array(0=>0x0B0D, 1=>0x0B0E),
                     array(0=>0x0B11, 1=>0x0B12),
                     array(0=>0x0B29, 1=>0x0B29),
                     array(0=>0x0B31, 1=>0x0B31),
                     array(0=>0x0B34, 1=>0x0B34),
                     array(0=>0x0B3A, 1=>0x0B3B),
                     array(0=>0x0B45, 1=>0x0B46),
                     array(0=>0x0B49, 1=>0x0B4A),
                     array(0=>0x0B4E, 1=>0x0B55),
                     array(0=>0x0B58, 1=>0x0B5B),
                     array(0=>0x0B5E, 1=>0x0B5E),
                     array(0=>0x0B64, 1=>0x0B65),
                     array(0=>0x0B78, 1=>0x0B81),
                     array(0=>0x0B84, 1=>0x0B84),
                     array(0=>0x0B8B, 1=>0x0B8D),
                     array(0=>0x0B91, 1=>0x0B91),
                     array(0=>0x0B96, 1=>0x0B98),
                     array(0=>0x0B9B, 1=>0x0B9B),
                     array(0=>0x0B9D, 1=>0x0B9D),
                     array(0=>0x0BA0, 1=>0x0BA2),
                     array(0=>0x0BA5, 1=>0x0BA7),
                     array(0=>0x0BAB, 1=>0x0BAD),
                     array(0=>0x0BBA, 1=>0x0BBD),
                     array(0=>0x0BC3, 1=>0x0BC5),
                     array(0=>0x0BC9, 1=>0x0BC9),
                     array(0=>0x0BCE, 1=>0x0BCF),
                     array(0=>0x0BD1, 1=>0x0BD6),
                     array(0=>0x0BD8, 1=>0x0BE5),
                     array(0=>0x0BFB, 1=>0x0C00),
                     array(0=>0x0C04, 1=>0x0C04),
                     array(0=>0x0C0D, 1=>0x0C0D),
                     array(0=>0x0C11, 1=>0x0C11),
                     array(0=>0x0C29, 1=>0x0C29),
                     array(0=>0x0C34, 1=>0x0C34),
                     array(0=>0x0C3A, 1=>0x0C3C),
                     array(0=>0x0C45, 1=>0x0C45),
                     array(0=>0x0C49, 1=>0x0C49),
                     array(0=>0x0C4E, 1=>0x0C54),
                     array(0=>0x0C57, 1=>0x0C57),
                     array(0=>0x0C5A, 1=>0x0C5F),
                     array(0=>0x0C64, 1=>0x0C65),
                     array(0=>0x0C70, 1=>0x0C77),
                     array(0=>0x0C80, 1=>0x0C81),
                     array(0=>0x0C84, 1=>0x0C84),
                     array(0=>0x0C8D, 1=>0x0C8D),
                     array(0=>0x0C91, 1=>0x0C91),
                     array(0=>0x0CA9, 1=>0x0CA9),
                     array(0=>0x0CB4, 1=>0x0CB4),
                     array(0=>0x0CBA, 1=>0x0CBB),
                     array(0=>0x0CC5, 1=>0x0CC5),
                     array(0=>0x0CC9, 1=>0x0CC9),
                     array(0=>0x0CCE, 1=>0x0CD4),
                     array(0=>0x0CD7, 1=>0x0CDD),
                     array(0=>0x0CDF, 1=>0x0CDF),
                     array(0=>0x0CE4, 1=>0x0CE5),
                     array(0=>0x0CF0, 1=>0x0CF0),
                     array(0=>0x0CF3, 1=>0x0D01),
                     array(0=>0x0D04, 1=>0x0D04),
                     array(0=>0x0D0D, 1=>0x0D0D),
                     array(0=>0x0D11, 1=>0x0D11),
                     array(0=>0x0D3B, 1=>0x0D3C),
                     array(0=>0x0D45, 1=>0x0D45),
                     array(0=>0x0D49, 1=>0x0D49),
                     array(0=>0x0D4F, 1=>0x0D56),
                     array(0=>0x0D58, 1=>0x0D5F),
                     array(0=>0x0D64, 1=>0x0D65),
                     array(0=>0x0D76, 1=>0x0D78),
                     array(0=>0x0D80, 1=>0x0D81),
                     array(0=>0x0D84, 1=>0x0D84),
                     array(0=>0x0D97, 1=>0x0D99),
                     array(0=>0x0DB2, 1=>0x0DB2),
                     array(0=>0x0DBC, 1=>0x0DBC),
                     array(0=>0x0DBE, 1=>0x0DBF),
                     array(0=>0x0DC7, 1=>0x0DC9),
                     array(0=>0x0DCB, 1=>0x0DCE),
                     array(0=>0x0DD5, 1=>0x0DD5),
                     array(0=>0x0DD7, 1=>0x0DD7),
                     array(0=>0x0DE0, 1=>0x0DF1),
                     array(0=>0x0DF5, 1=>0x0E00),
                     array(0=>0x0E3B, 1=>0x0E3F),
                     array(0=>0x0E5C, 1=>0x0E80),
                     array(0=>0x0E83, 1=>0x0E83),
                     array(0=>0x0E85, 1=>0x0E86),
                     array(0=>0x0E89, 1=>0x0E89),
                     array(0=>0x0E8B, 1=>0x0E8C),
                     array(0=>0x0E8E, 1=>0x0E93),
                     array(0=>0x0E98, 1=>0x0E98),
                     array(0=>0x0EA0, 1=>0x0EA0),
                     array(0=>0x0EA4, 1=>0x0EA4),
                     array(0=>0x0EA6, 1=>0x0EA6),
                     array(0=>0x0EA8, 1=>0x0EA9),
                     array(0=>0x0EAC, 1=>0x0EAC),
                     array(0=>0x0EBA, 1=>0x0EBA),
                     array(0=>0x0EBE, 1=>0x0EBF),
                     array(0=>0x0EC5, 1=>0x0EC5),
                     array(0=>0x0EC7, 1=>0x0EC7),
                     array(0=>0x0ECE, 1=>0x0ECF),
                     array(0=>0x0EDA, 1=>0x0EDB),
                     array(0=>0x0EE0, 1=>0x0EFF),
                     array(0=>0x0F48, 1=>0x0F48),
                     array(0=>0x0F6D, 1=>0x0F70),
                     array(0=>0x0F98, 1=>0x0F98),
                     array(0=>0x0FBD, 1=>0x0FBD),
                     array(0=>0x0FCD, 1=>0x0FCD),
                     array(0=>0x0FD5, 1=>0x0FD8),
                     array(0=>0x0FDB, 1=>0x0FFF),
                     array(0=>0x10C6, 1=>0x10C6),
                     array(0=>0x10C8, 1=>0x10CC),
                     array(0=>0x10CE, 1=>0x10CF),
                     array(0=>0x10FB, 1=>0x10FB),
                     array(0=>0x1249, 1=>0x1249),
                     array(0=>0x124E, 1=>0x124F),
                     array(0=>0x1257, 1=>0x1257),
                     array(0=>0x1259, 1=>0x1259),
                     array(0=>0x125E, 1=>0x125F),
                     array(0=>0x1289, 1=>0x1289),
                     array(0=>0x128E, 1=>0x128F),
                     array(0=>0x12B1, 1=>0x12B1),
                     array(0=>0x12B6, 1=>0x12B7),
                     array(0=>0x12BF, 1=>0x12BF),
                     array(0=>0x12C1, 1=>0x12C1),
                     array(0=>0x12C6, 1=>0x12C7),
                     array(0=>0x12D7, 1=>0x12D7),
                     array(0=>0x1311, 1=>0x1311),
                     array(0=>0x1316, 1=>0x1317),
                     array(0=>0x135B, 1=>0x135C),
                     array(0=>0x137D, 1=>0x137F),
                     array(0=>0x139A, 1=>0x139F),
                     array(0=>0x13F5, 1=>0x13FF),
                     array(0=>0x169D, 1=>0x169F),
                     array(0=>0x16EB, 1=>0x16ED),
                     array(0=>0x16F1, 1=>0x16FF),
                     array(0=>0x170D, 1=>0x170D),
                     array(0=>0x1715, 1=>0x171F),
                     array(0=>0x1735, 1=>0x173F),
                     array(0=>0x1754, 1=>0x175F),
                     array(0=>0x176D, 1=>0x176D),
                     array(0=>0x1771, 1=>0x1771),
                     array(0=>0x1774, 1=>0x177F),
                     array(0=>0x17DE, 1=>0x17DF),
                     array(0=>0x17EA, 1=>0x17EF),
                     array(0=>0x17FA, 1=>0x17FF),
                     array(0=>0x1802, 1=>0x1803),
                     array(0=>0x1805, 1=>0x1805),
                     array(0=>0x180F, 1=>0x180F),
                     array(0=>0x181A, 1=>0x181F),
                     array(0=>0x1878, 1=>0x187F),
                     array(0=>0x18AB, 1=>0x18AF),
                     array(0=>0x18F6, 1=>0x18FF),
                     array(0=>0x191D, 1=>0x191F),
                     array(0=>0x192C, 1=>0x192F),
                     array(0=>0x193C, 1=>0x193F),
                     array(0=>0x1941, 1=>0x1943),
                     array(0=>0x196E, 1=>0x196F),
                     array(0=>0x1975, 1=>0x197F),
                     array(0=>0x19AC, 1=>0x19AF),
                     array(0=>0x19CA, 1=>0x19CF),
                     array(0=>0x19DB, 1=>0x19DD),
                     array(0=>0x1A1C, 1=>0x1A1D),
                     array(0=>0x1A5F, 1=>0x1A5F),
                     array(0=>0x1A7D, 1=>0x1A7E),
                     array(0=>0x1A8A, 1=>0x1A8F),
                     array(0=>0x1A9A, 1=>0x1A9F),
                     array(0=>0x1AAE, 1=>0x1AFF),
                     array(0=>0x1B4C, 1=>0x1B4F),
                     array(0=>0x1B7D, 1=>0x1B7F),
                     array(0=>0x1BF4, 1=>0x1BFB),
                     array(0=>0x1C38, 1=>0x1C3A),
                     array(0=>0x1C4A, 1=>0x1C4C),
                     array(0=>0x1C80, 1=>0x1CBF),
                     array(0=>0x1CC8, 1=>0x1CCF),
                     array(0=>0x1CD3, 1=>0x1CD3),
                     array(0=>0x1CE1, 1=>0x1CE1),
                     array(0=>0x1CE9, 1=>0x1CEC),
                     array(0=>0x1CEE, 1=>0x1CF3),
                     array(0=>0x1CF5, 1=>0x1CFF),
                     array(0=>0x1DE7, 1=>0x1DFB),
                     array(0=>0x1F16, 1=>0x1F17),
                     array(0=>0x1F1E, 1=>0x1F1F),
                     array(0=>0x1F46, 1=>0x1F47),
                     array(0=>0x1F4E, 1=>0x1F4F),
                     array(0=>0x1F58, 1=>0x1F58),
                     array(0=>0x1F5A, 1=>0x1F5A),
                     array(0=>0x1F5C, 1=>0x1F5C),
                     array(0=>0x1F5E, 1=>0x1F5E),
                     array(0=>0x1F7E, 1=>0x1F7F),
                     array(0=>0x1FB5, 1=>0x1FB5),
                     array(0=>0x1FC5, 1=>0x1FC5),
                     array(0=>0x1FD4, 1=>0x1FD5),
                     array(0=>0x1FDC, 1=>0x1FDC),
                     array(0=>0x1FF0, 1=>0x1FF1),
                     array(0=>0x1FF5, 1=>0x1FF5),
                     array(0=>0x1FFF, 1=>0x200B),
                     array(0=>0x200E, 1=>0x2070),
                     array(0=>0x2072, 1=>0x207E),
                     array(0=>0x2080, 1=>0x208F),
                     array(0=>0x209D, 1=>0x20CF),
                     array(0=>0x20F1, 1=>0x2125),
                     array(0=>0x2127, 1=>0x2129),
                     array(0=>0x212C, 1=>0x2131),
                     array(0=>0x2133, 1=>0x214D),
                     array(0=>0x214F, 1=>0x215F),
                     array(0=>0x2189, 1=>0x27FF),
                     array(0=>0x2900, 1=>0x2BFF),
                     array(0=>0x2C2F, 1=>0x2C2F),
                     array(0=>0x2C5F, 1=>0x2C5F),
                     array(0=>0x2CF4, 1=>0x2CF8),
                     array(0=>0x2D26, 1=>0x2D26),
                     array(0=>0x2D28, 1=>0x2D2C),
                     array(0=>0x2D2E, 1=>0x2D2F),
                     array(0=>0x2D68, 1=>0x2D6E),
                     array(0=>0x2D71, 1=>0x2D7E),
                     array(0=>0x2D97, 1=>0x2D9F),
                     array(0=>0x2DA7, 1=>0x2DA7),
                     array(0=>0x2DAF, 1=>0x2DAF),
                     array(0=>0x2DB7, 1=>0x2DB7),
                     array(0=>0x2DBF, 1=>0x2DBF),
                     array(0=>0x2DC7, 1=>0x2DC7),
                     array(0=>0x2DCF, 1=>0x2DCF),
                     array(0=>0x2DD7, 1=>0x2DD7),
                     array(0=>0x2DDF, 1=>0x2DDF),
                     array(0=>0x2E00, 1=>0x2E7F),
                     array(0=>0x2E9A, 1=>0x2E9A),
                     array(0=>0x2EF4, 1=>0x2EFF),
                     array(0=>0x2FD6, 1=>0x3004),
                     array(0=>0x3006, 1=>0x3006),
                     array(0=>0x3008, 1=>0x3020),
                     array(0=>0x3030, 1=>0x3037),
                     array(0=>0x303C, 1=>0x3040),
                     array(0=>0x3097, 1=>0x3098),
                     array(0=>0x309B, 1=>0x309C),
                     array(0=>0x30A0, 1=>0x30A0),
                     array(0=>0x30FB, 1=>0x30FC),
                     array(0=>0x3100, 1=>0x3104),
                     array(0=>0x312E, 1=>0x3130),
                     array(0=>0x318F, 1=>0x319F),
                     array(0=>0x31BB, 1=>0x31EF),
                     array(0=>0x321F, 1=>0x325F),
                     array(0=>0x327F, 1=>0x32CF),
                     array(0=>0x32FF, 1=>0x32FF),
                     array(0=>0x3358, 1=>0x33FF),
                     array(0=>0x4DB6, 1=>0x4DFF),
                     array(0=>0x9FCD, 1=>0x9FFF),
                     array(0=>0xA48D, 1=>0xA48F),
                     array(0=>0xA4C7, 1=>0xA4CF),
                     array(0=>0xA62C, 1=>0xA63F),
                     array(0=>0xA698, 1=>0xA69E),
                     array(0=>0xA6F8, 1=>0xA721),
                     array(0=>0xA788, 1=>0xA78A),
                     array(0=>0xA78F, 1=>0xA78F),
                     array(0=>0xA794, 1=>0xA79F),
                     array(0=>0xA7AB, 1=>0xA7F7),
                     array(0=>0xA82C, 1=>0xA83F),
                     array(0=>0xA878, 1=>0xA87F),
                     array(0=>0xA8C5, 1=>0xA8CD),
                     array(0=>0xA8DA, 1=>0xA8DF),
                     array(0=>0xA8FC, 1=>0xA8FF),
                     array(0=>0xA954, 1=>0xA95E),
                     array(0=>0xA97D, 1=>0xA97F),
                     array(0=>0xA9CE, 1=>0xA9CE),
                     array(0=>0xA9DA, 1=>0xA9DD),
                     array(0=>0xA9E0, 1=>0xA9FF),
                     array(0=>0xAA37, 1=>0xAA3F),
                     array(0=>0xAA4E, 1=>0xAA4F),
                     array(0=>0xAA5A, 1=>0xAA5B),
                     array(0=>0xAA7C, 1=>0xAA7F),
                     array(0=>0xAAC3, 1=>0xAADA),
                     array(0=>0xAAF7, 1=>0xAB00),
                     array(0=>0xAB07, 1=>0xAB08),
                     array(0=>0xAB0F, 1=>0xAB10),
                     array(0=>0xAB17, 1=>0xAB1F),
                     array(0=>0xAB27, 1=>0xAB27),
                     array(0=>0xAB2F, 1=>0xABBF),
                     array(0=>0xABEE, 1=>0xABEF),
                     array(0=>0xABFA, 1=>0xABFF),
                     array(0=>0xD7A4, 1=>0xD7AF),
                     array(0=>0xD7C7, 1=>0xD7CA),
                     array(0=>0xD7FC, 1=>0xD7FF),
                     array(0=>0xE000, 1=>0xF8FF),
                     array(0=>0xFA6E, 1=>0xFA6F),
                     array(0=>0xFADA, 1=>0xFAFF),
                     array(0=>0xFB07, 1=>0xFB12),
                     array(0=>0xFB18, 1=>0xFB1C),
                     array(0=>0xFB37, 1=>0xFB37),
                     array(0=>0xFB3D, 1=>0xFB3D),
                     array(0=>0xFB3F, 1=>0xFB3F),
                     array(0=>0xFB42, 1=>0xFB42),
                     array(0=>0xFB45, 1=>0xFB45),
                     array(0=>0xFBC2, 1=>0xFBD2),
                     array(0=>0xFD3E, 1=>0xFD4F),
                     array(0=>0xFD90, 1=>0xFD91),
                     array(0=>0xFDC8, 1=>0xFDCF),
                     array(0=>0xFDFD, 1=>0xFDFF),
                     array(0=>0xFE10, 1=>0xFE1F),
                     array(0=>0xFE27, 1=>0xFE6F),
                     array(0=>0xFE75, 1=>0xFE75),
                     array(0=>0xFEFD, 1=>0xFF20),
                     array(0=>0xFF3B, 1=>0xFF40),
                     array(0=>0xFF5B, 1=>0xFF65),
                     array(0=>0xFF70, 1=>0xFF70),
                     array(0=>0xFF9E, 1=>0xFF9F),
                     array(0=>0xFFBF, 1=>0xFFC1),
                     array(0=>0xFFC8, 1=>0xFFC9),
                     array(0=>0xFFD0, 1=>0xFFD1),
                     array(0=>0xFFD8, 1=>0xFFD9),
                     array(0=>0xFFDD, 1=>0xFFFD),
                     array(0=>0x1000C, 1=>0x1000C),
                     array(0=>0x10027, 1=>0x10027),
                     array(0=>0x1003B, 1=>0x1003B),
                     array(0=>0x1003E, 1=>0x1003E),
                     array(0=>0x1004E, 1=>0x1004F),
                     array(0=>0x1005E, 1=>0x1007F),
                     array(0=>0x100FB, 1=>0x1013F),
                     array(0=>0x1018B, 1=>0x101FC),
                     array(0=>0x101FE, 1=>0x1027F),
                     array(0=>0x1029D, 1=>0x1029F),
                     array(0=>0x102D1, 1=>0x102FF),
                     array(0=>0x1031F, 1=>0x1031F),
                     array(0=>0x10324, 1=>0x1032F),
                     array(0=>0x1034B, 1=>0x1037F),
                     array(0=>0x1039E, 1=>0x1039E),
                     array(0=>0x103C4, 1=>0x103C7),
                     array(0=>0x103D6, 1=>0x103FF),
                     array(0=>0x1049E, 1=>0x1049F),
                     array(0=>0x104AA, 1=>0x107FF),
                     array(0=>0x10806, 1=>0x10807),
                     array(0=>0x10809, 1=>0x10809),
                     array(0=>0x10836, 1=>0x10836),
                     array(0=>0x10839, 1=>0x1083B),
                     array(0=>0x1083D, 1=>0x1083E),
                     array(0=>0x10856, 1=>0x10856),
                     array(0=>0x10860, 1=>0x108FF),
                     array(0=>0x1091C, 1=>0x1091E),
                     array(0=>0x1093A, 1=>0x1093E),
                     array(0=>0x10940, 1=>0x1097F),
                     array(0=>0x109B8, 1=>0x109BD),
                     array(0=>0x109C0, 1=>0x109FF),
                     array(0=>0x10A04, 1=>0x10A04),
                     array(0=>0x10A07, 1=>0x10A0B),
                     array(0=>0x10A14, 1=>0x10A14),
                     array(0=>0x10A18, 1=>0x10A18),
                     array(0=>0x10A34, 1=>0x10A37),
                     array(0=>0x10A3B, 1=>0x10A3E),
                     array(0=>0x10A48, 1=>0x10A4F),
                     array(0=>0x10A59, 1=>0x10A5F),
                     array(0=>0x10A80, 1=>0x10AFF),
                     array(0=>0x10B36, 1=>0x10B38),
                     array(0=>0x10B56, 1=>0x10B57),
                     array(0=>0x10B73, 1=>0x10B77),
                     array(0=>0x10B80, 1=>0x10BFF),
                     array(0=>0x10C49, 1=>0x10E5F),
                     array(0=>0x10E7F, 1=>0x10FFF),
                     array(0=>0x1104E, 1=>0x11051),
                     array(0=>0x11070, 1=>0x1107F),
                     array(0=>0x110C2, 1=>0x110CF),
                     array(0=>0x110E9, 1=>0x110EF),
                     array(0=>0x110FA, 1=>0x110FF),
                     array(0=>0x11135, 1=>0x11135),
                     array(0=>0x11144, 1=>0x1117F),
                     array(0=>0x111C9, 1=>0x111CF),
                     array(0=>0x111DA, 1=>0x1167F),
                     array(0=>0x116B8, 1=>0x116BF),
                     array(0=>0x116CA, 1=>0x11FFF),
                     array(0=>0x1236F, 1=>0x123FF),
                     array(0=>0x12463, 1=>0x1246F),
                     array(0=>0x12474, 1=>0x12FFF),
                     array(0=>0x1342F, 1=>0x167FF),
                     array(0=>0x16A39, 1=>0x16EFF),
                     array(0=>0x16F45, 1=>0x16F4F),
                     array(0=>0x16F7F, 1=>0x16F8E),
                     array(0=>0x16FA0, 1=>0x1AFFF),
                     array(0=>0x1B002, 1=>0x1D166),
                     array(0=>0x1D16A, 1=>0x1D17A),
                     array(0=>0x1D183, 1=>0x1D184),
                     array(0=>0x1D18C, 1=>0x1D1A9),
                     array(0=>0x1D1AE, 1=>0x1D1FF),
                     array(0=>0x1D246, 1=>0x1EDFF),
                     array(0=>0x1EE04, 1=>0x1EE04),
                     array(0=>0x1EE20, 1=>0x1EE20),
                     array(0=>0x1EE23, 1=>0x1EE23),
                     array(0=>0x1EE25, 1=>0x1EE26),
                     array(0=>0x1EE28, 1=>0x1EE28),
                     array(0=>0x1EE33, 1=>0x1EE33),
                     array(0=>0x1EE38, 1=>0x1EE38),
                     array(0=>0x1EE3A, 1=>0x1EE3A),
                     array(0=>0x1EE3C, 1=>0x1EE41),
                     array(0=>0x1EE43, 1=>0x1EE46),
                     array(0=>0x1EE48, 1=>0x1EE48),
                     array(0=>0x1EE4A, 1=>0x1EE4A),
                     array(0=>0x1EE4C, 1=>0x1EE4C),
                     array(0=>0x1EE50, 1=>0x1EE50),
                     array(0=>0x1EE53, 1=>0x1EE53),
                     array(0=>0x1EE55, 1=>0x1EE56),
                     array(0=>0x1EE58, 1=>0x1EE58),
                     array(0=>0x1EE5A, 1=>0x1EE5A),
                     array(0=>0x1EE5C, 1=>0x1EE5C),
                     array(0=>0x1EE5E, 1=>0x1EE5E),
                     array(0=>0x1EE60, 1=>0x1EE60),
                     array(0=>0x1EE63, 1=>0x1EE63),
                     array(0=>0x1EE65, 1=>0x1EE66),
                     array(0=>0x1EE6B, 1=>0x1EE6B),
                     array(0=>0x1EE73, 1=>0x1EE73),
                     array(0=>0x1EE78, 1=>0x1EE78),
                     array(0=>0x1EE7D, 1=>0x1EE7D),
                     array(0=>0x1EE7F, 1=>0x1EE7F),
                     array(0=>0x1EE8A, 1=>0x1EE8A),
                     array(0=>0x1EE9C, 1=>0x1EEA0),
                     array(0=>0x1EEA4, 1=>0x1EEA4),
                     array(0=>0x1EEAA, 1=>0x1EEAA),
                     array(0=>0x1EEBC, 1=>0x1EEEF),
                     array(0=>0x1EEF2, 1=>0x1F1FF),
                     array(0=>0x1F201, 1=>0x1FFFD),
                     array(0=>0x2A6D7, 1=>0x2A6FF),
                     array(0=>0x2B735, 1=>0x2B73F),
                     array(0=>0x2B81E, 1=>0x2F7FF),
                     array(0=>0x2FA1E, 1=>0x2FFFD),
                     array(0=>0x30000, 1=>0x3FFFD),
                     array(0=>0x40000, 1=>0x4FFFD),
                     array(0=>0x50000, 1=>0x5FFFD),
                     array(0=>0x60000, 1=>0x6FFFD),
                     array(0=>0x70000, 1=>0x7FFFD),
                     array(0=>0x80000, 1=>0x8FFFD),
                     array(0=>0x90000, 1=>0x9FFFD),
                     array(0=>0xA0000, 1=>0xAFFFD),
                     array(0=>0xB0000, 1=>0xBFFFD),
                     array(0=>0xC0000, 1=>0xCFFFD),
                     array(0=>0xD0000, 1=>0xDFFFD),
                     array(0=>0xE0000, 1=>0xE00FF),
                     array(0=>0xE01F0, 1=>0xEFFFD),
                     array(0=>0xF0000, 1=>0xFFFFD),
                     array(0=>0x100000, 1=>0x10FFFD));
    }

    public static function Coptic_ranges() {
        return array(array(0=>0x03E2, 1=>0x03EF),
                     array(0=>0x2C80, 1=>0x2CF3),
                     array(0=>0x2CF9, 1=>0x2CFF));
    }

    public static function Cuneiform_ranges() {
        return array(array(0=>0x12000, 1=>0x1236E),
                     array(0=>0x12400, 1=>0x12462),
                     array(0=>0x12470, 1=>0x12473));
    }

    public static function Cypriot_ranges() {
        return array(array(0=>0x10800, 1=>0x10805),
                     array(0=>0x10808, 1=>0x10808),
                     array(0=>0x1080A, 1=>0x10835),
                     array(0=>0x10837, 1=>0x10838),
                     array(0=>0x1083C, 1=>0x1083C),
                     array(0=>0x1083F, 1=>0x1083F));
    }

    public static function Cyrillic_ranges() {
        return array(array(0=>0x0400, 1=>0x0484),
                     array(0=>0x0487, 1=>0x0527),
                     array(0=>0x1D2B, 1=>0x1D2B),
                     array(0=>0x1D78, 1=>0x1D78),
                     array(0=>0x2DE0, 1=>0x2DFF),
                     array(0=>0xA640, 1=>0xA697),
                     array(0=>0xA69F, 1=>0xA69F));
    }

    public static function Deseret_ranges() {
        return array(array(0=>0x10400, 1=>0x1044F));
    }

    public static function Devanagari_ranges() {
        return array(array(0=>0x0900, 1=>0x0950),
                     array(0=>0x0953, 1=>0x0963),
                     array(0=>0x0966, 1=>0x0977),
                     array(0=>0x0979, 1=>0x097F),
                     array(0=>0xA8E0, 1=>0xA8FB));
    }

    public static function Egyptian_Hieroglyphs_ranges() {
        return array(array(0=>0x13000, 1=>0x1342E));
    }

    public static function Ethiopic_ranges() {
        return array(array(0=>0x1200, 1=>0x1248),
                     array(0=>0x124A, 1=>0x124D),
                     array(0=>0x1250, 1=>0x1256),
                     array(0=>0x1258, 1=>0x1258),
                     array(0=>0x125A, 1=>0x125D),
                     array(0=>0x1260, 1=>0x1288),
                     array(0=>0x128A, 1=>0x128D),
                     array(0=>0x1290, 1=>0x12B0),
                     array(0=>0x12B2, 1=>0x12B5),
                     array(0=>0x12B8, 1=>0x12BE),
                     array(0=>0x12C0, 1=>0x12C0),
                     array(0=>0x12C2, 1=>0x12C5),
                     array(0=>0x12C8, 1=>0x12D6),
                     array(0=>0x12D8, 1=>0x1310),
                     array(0=>0x1312, 1=>0x1315),
                     array(0=>0x1318, 1=>0x135A),
                     array(0=>0x135D, 1=>0x137C),
                     array(0=>0x1380, 1=>0x1399),
                     array(0=>0x2D80, 1=>0x2D96),
                     array(0=>0x2DA0, 1=>0x2DA6),
                     array(0=>0x2DA8, 1=>0x2DAE),
                     array(0=>0x2DB0, 1=>0x2DB6),
                     array(0=>0x2DB8, 1=>0x2DBE),
                     array(0=>0x2DC0, 1=>0x2DC6),
                     array(0=>0x2DC8, 1=>0x2DCE),
                     array(0=>0x2DD0, 1=>0x2DD6),
                     array(0=>0x2DD8, 1=>0x2DDE),
                     array(0=>0xAB01, 1=>0xAB06),
                     array(0=>0xAB09, 1=>0xAB0E),
                     array(0=>0xAB11, 1=>0xAB16),
                     array(0=>0xAB20, 1=>0xAB26),
                     array(0=>0xAB28, 1=>0xAB2E));
    }

    public static function Georgian_ranges() {
        return array(array(0=>0x10A0, 1=>0x10C5),
                     array(0=>0x10C7, 1=>0x10C7),
                     array(0=>0x10CD, 1=>0x10CD),
                     array(0=>0x10D0, 1=>0x10FA),
                     array(0=>0x10FC, 1=>0x10FF),
                     array(0=>0x2D00, 1=>0x2D25),
                     array(0=>0x2D27, 1=>0x2D27),
                     array(0=>0x2D2D, 1=>0x2D2D));
    }

    public static function Glagolitic_ranges() {
        return array(array(0=>0x2C00, 1=>0x2C2E),
                     array(0=>0x2C30, 1=>0x2C5E));
    }

    public static function Gothic_ranges() {
        return array(array(0=>0x10330, 1=>0x1034A));
    }

    public static function Greek_ranges() {
        return array(array(0=>0x0370, 1=>0x0373),
                     array(0=>0x0375, 1=>0x0377),
                     array(0=>0x037A, 1=>0x037D),
                     array(0=>0x0384, 1=>0x0384),
                     array(0=>0x0386, 1=>0x0386),
                     array(0=>0x0388, 1=>0x038A),
                     array(0=>0x038C, 1=>0x038C),
                     array(0=>0x038E, 1=>0x03A1),
                     array(0=>0x03A3, 1=>0x03E1),
                     array(0=>0x03F0, 1=>0x03FF),
                     array(0=>0x1D26, 1=>0x1D2A),
                     array(0=>0x1D5D, 1=>0x1D61),
                     array(0=>0x1D66, 1=>0x1D6A),
                     array(0=>0x1DBF, 1=>0x1DBF),
                     array(0=>0x1F00, 1=>0x1F15),
                     array(0=>0x1F18, 1=>0x1F1D),
                     array(0=>0x1F20, 1=>0x1F45),
                     array(0=>0x1F48, 1=>0x1F4D),
                     array(0=>0x1F50, 1=>0x1F57),
                     array(0=>0x1F59, 1=>0x1F59),
                     array(0=>0x1F5B, 1=>0x1F5B),
                     array(0=>0x1F5D, 1=>0x1F5D),
                     array(0=>0x1F5F, 1=>0x1F7D),
                     array(0=>0x1F80, 1=>0x1FB4),
                     array(0=>0x1FB6, 1=>0x1FC4),
                     array(0=>0x1FC6, 1=>0x1FD3),
                     array(0=>0x1FD6, 1=>0x1FDB),
                     array(0=>0x1FDD, 1=>0x1FEF),
                     array(0=>0x1FF2, 1=>0x1FF4),
                     array(0=>0x1FF6, 1=>0x1FFE),
                     array(0=>0x2126, 1=>0x2126),
                     array(0=>0x10140, 1=>0x1018A),
                     array(0=>0x1D200, 1=>0x1D245));
    }

    public static function Gujarati_ranges() {
        return array(array(0=>0x0A81, 1=>0x0A83),
                     array(0=>0x0A85, 1=>0x0A8D),
                     array(0=>0x0A8F, 1=>0x0A91),
                     array(0=>0x0A93, 1=>0x0AA8),
                     array(0=>0x0AAA, 1=>0x0AB0),
                     array(0=>0x0AB2, 1=>0x0AB3),
                     array(0=>0x0AB5, 1=>0x0AB9),
                     array(0=>0x0ABC, 1=>0x0AC5),
                     array(0=>0x0AC7, 1=>0x0AC9),
                     array(0=>0x0ACB, 1=>0x0ACD),
                     array(0=>0x0AD0, 1=>0x0AD0),
                     array(0=>0x0AE0, 1=>0x0AE3),
                     array(0=>0x0AE6, 1=>0x0AF1));
    }

    public static function Gurmukhi_ranges() {
        return array(array(0=>0x0A01, 1=>0x0A03),
                     array(0=>0x0A05, 1=>0x0A0A),
                     array(0=>0x0A0F, 1=>0x0A10),
                     array(0=>0x0A13, 1=>0x0A28),
                     array(0=>0x0A2A, 1=>0x0A30),
                     array(0=>0x0A32, 1=>0x0A33),
                     array(0=>0x0A35, 1=>0x0A36),
                     array(0=>0x0A38, 1=>0x0A39),
                     array(0=>0x0A3C, 1=>0x0A3C),
                     array(0=>0x0A3E, 1=>0x0A42),
                     array(0=>0x0A47, 1=>0x0A48),
                     array(0=>0x0A4B, 1=>0x0A4D),
                     array(0=>0x0A51, 1=>0x0A51),
                     array(0=>0x0A59, 1=>0x0A5C),
                     array(0=>0x0A5E, 1=>0x0A5E),
                     array(0=>0x0A66, 1=>0x0A75));
    }

    public static function Han_ranges() {
        return array(array(0=>0x2E80, 1=>0x2E99),
                     array(0=>0x2E9B, 1=>0x2EF3),
                     array(0=>0x2F00, 1=>0x2FD5),
                     array(0=>0x3005, 1=>0x3005),
                     array(0=>0x3007, 1=>0x3007),
                     array(0=>0x3021, 1=>0x3029),
                     array(0=>0x3038, 1=>0x303B),
                     array(0=>0x3400, 1=>0x4DB5),
                     array(0=>0x4E00, 1=>0x9FCC),
                     array(0=>0xF900, 1=>0xFA6D),
                     array(0=>0xFA70, 1=>0xFAD9),
                     array(0=>0x20000, 1=>0x2A6D6),
                     array(0=>0x2A700, 1=>0x2B734),
                     array(0=>0x2B740, 1=>0x2B81D),
                     array(0=>0x2F800, 1=>0x2FA1D));
    }

    public static function Hangul_ranges() {
        return array(array(0=>0x1100, 1=>0x11FF),
                     array(0=>0x302E, 1=>0x302F),
                     array(0=>0x3131, 1=>0x318E),
                     array(0=>0x3200, 1=>0x321E),
                     array(0=>0x3260, 1=>0x327E),
                     array(0=>0xA960, 1=>0xA97C),
                     array(0=>0xAC00, 1=>0xD7A3),
                     array(0=>0xD7B0, 1=>0xD7C6),
                     array(0=>0xD7CB, 1=>0xD7FB),
                     array(0=>0xFFA0, 1=>0xFFBE),
                     array(0=>0xFFC2, 1=>0xFFC7),
                     array(0=>0xFFCA, 1=>0xFFCF),
                     array(0=>0xFFD2, 1=>0xFFD7),
                     array(0=>0xFFDA, 1=>0xFFDC));
    }

    public static function Hanunoo_ranges() {
        return array(array(0=>0x1720, 1=>0x1734));
    }

    public static function Hebrew_ranges() {
        return array(array(0=>0x0591, 1=>0x05C7),
                     array(0=>0x05D0, 1=>0x05EA),
                     array(0=>0x05F0, 1=>0x05F4),
                     array(0=>0xFB1D, 1=>0xFB36),
                     array(0=>0xFB38, 1=>0xFB3C),
                     array(0=>0xFB3E, 1=>0xFB3E),
                     array(0=>0xFB40, 1=>0xFB41),
                     array(0=>0xFB43, 1=>0xFB44),
                     array(0=>0xFB46, 1=>0xFB4F));
    }

    public static function Hiragana_ranges() {
        return array(array(0=>0x3041, 1=>0x3096),
                     array(0=>0x309D, 1=>0x309F),
                     array(0=>0x1B001, 1=>0x1B001),
                     array(0=>0x1F200, 1=>0x1F200));
    }

    public static function Imperial_Aramaic_ranges() {
        return array(array(0=>0x10840, 1=>0x10855),
                     array(0=>0x10857, 1=>0x1085F));
    }

    public static function Inherited_ranges() {
        return array(array(0=>0x0300, 1=>0x036F),
                     array(0=>0x0485, 1=>0x0486),
                     array(0=>0x064B, 1=>0x0655),
                     array(0=>0x0670, 1=>0x0670),
                     array(0=>0x0951, 1=>0x0952),
                     array(0=>0x1CD0, 1=>0x1CD2),
                     array(0=>0x1CD4, 1=>0x1CE0),
                     array(0=>0x1CE2, 1=>0x1CE8),
                     array(0=>0x1CED, 1=>0x1CED),
                     array(0=>0x1CF4, 1=>0x1CF4),
                     array(0=>0x1DC0, 1=>0x1DE6),
                     array(0=>0x1DFC, 1=>0x1DFF),
                     array(0=>0x200C, 1=>0x200D),
                     array(0=>0x20D0, 1=>0x20F0),
                     array(0=>0x302A, 1=>0x302D),
                     array(0=>0x3099, 1=>0x309A),
                     array(0=>0xFE00, 1=>0xFE0F),
                     array(0=>0xFE20, 1=>0xFE26),
                     array(0=>0x101FD, 1=>0x101FD),
                     array(0=>0x1D167, 1=>0x1D169),
                     array(0=>0x1D17B, 1=>0x1D182),
                     array(0=>0x1D185, 1=>0x1D18B),
                     array(0=>0x1D1AA, 1=>0x1D1AD),
                     array(0=>0xE0100, 1=>0xE01EF));
    }

    public static function Inscriptional_Pahlavi_ranges() {
        return array(array(0=>0x10B60, 1=>0x10B72),
                     array(0=>0x10B78, 1=>0x10B7F));
    }

    public static function Inscriptional_Parthian_ranges() {
        return array(array(0=>0x10B40, 1=>0x10B55),
                     array(0=>0x10B58, 1=>0x10B5F));
    }

    public static function Javanese_ranges() {
        return array(array(0=>0xA980, 1=>0xA9CD),
                     array(0=>0xA9CF, 1=>0xA9D9),
                     array(0=>0xA9DE, 1=>0xA9DF));
    }

    public static function Kaithi_ranges() {
        return array(array(0=>0x11080, 1=>0x110C1));
    }

    public static function Kannada_ranges() {
        return array(array(0=>0x0C82, 1=>0x0C83),
                     array(0=>0x0C85, 1=>0x0C8C),
                     array(0=>0x0C8E, 1=>0x0C90),
                     array(0=>0x0C92, 1=>0x0CA8),
                     array(0=>0x0CAA, 1=>0x0CB3),
                     array(0=>0x0CB5, 1=>0x0CB9),
                     array(0=>0x0CBC, 1=>0x0CC4),
                     array(0=>0x0CC6, 1=>0x0CC8),
                     array(0=>0x0CCA, 1=>0x0CCD),
                     array(0=>0x0CD5, 1=>0x0CD6),
                     array(0=>0x0CDE, 1=>0x0CDE),
                     array(0=>0x0CE0, 1=>0x0CE3),
                     array(0=>0x0CE6, 1=>0x0CEF),
                     array(0=>0x0CF1, 1=>0x0CF2));
    }

    public static function Katakana_ranges() {
        return array(array(0=>0x30A1, 1=>0x30FA),
                     array(0=>0x30FD, 1=>0x30FF),
                     array(0=>0x31F0, 1=>0x31FF),
                     array(0=>0x32D0, 1=>0x32FE),
                     array(0=>0x3300, 1=>0x3357),
                     array(0=>0xFF66, 1=>0xFF6F),
                     array(0=>0xFF71, 1=>0xFF9D),
                     array(0=>0x1B000, 1=>0x1B000));
    }

    public static function Kayah_Li_ranges() {
        return array(array(0=>0xA900, 1=>0xA92F));
    }

    public static function Kharoshthi_ranges() {
        return array(array(0=>0x10A00, 1=>0x10A03),
                     array(0=>0x10A05, 1=>0x10A06),
                     array(0=>0x10A0C, 1=>0x10A13),
                     array(0=>0x10A15, 1=>0x10A17),
                     array(0=>0x10A19, 1=>0x10A33),
                     array(0=>0x10A38, 1=>0x10A3A),
                     array(0=>0x10A3F, 1=>0x10A47),
                     array(0=>0x10A50, 1=>0x10A58));
    }

    public static function Khmer_ranges() {
        return array(array(0=>0x1780, 1=>0x17DD),
                     array(0=>0x17E0, 1=>0x17E9),
                     array(0=>0x17F0, 1=>0x17F9),
                     array(0=>0x19E0, 1=>0x19FF));
    }

    public static function Lao_ranges() {
        return array(array(0=>0x0E81, 1=>0x0E82),
                     array(0=>0x0E84, 1=>0x0E84),
                     array(0=>0x0E87, 1=>0x0E88),
                     array(0=>0x0E8A, 1=>0x0E8A),
                     array(0=>0x0E8D, 1=>0x0E8D),
                     array(0=>0x0E94, 1=>0x0E97),
                     array(0=>0x0E99, 1=>0x0E9F),
                     array(0=>0x0EA1, 1=>0x0EA3),
                     array(0=>0x0EA5, 1=>0x0EA5),
                     array(0=>0x0EA7, 1=>0x0EA7),
                     array(0=>0x0EAA, 1=>0x0EAB),
                     array(0=>0x0EAD, 1=>0x0EB9),
                     array(0=>0x0EBB, 1=>0x0EBD),
                     array(0=>0x0EC0, 1=>0x0EC4),
                     array(0=>0x0EC6, 1=>0x0EC6),
                     array(0=>0x0EC8, 1=>0x0ECD),
                     array(0=>0x0ED0, 1=>0x0ED9),
                     array(0=>0x0EDC, 1=>0x0EDF));
    }

    public static function Latin_ranges() {
        return array(array(0=>0x0041, 1=>0x005A),
                     array(0=>0x0061, 1=>0x007A),
                     array(0=>0x00AA, 1=>0x00AA),
                     array(0=>0x00BA, 1=>0x00BA),
                     array(0=>0x00C0, 1=>0x00D6),
                     array(0=>0x00D8, 1=>0x00F6),
                     array(0=>0x00F8, 1=>0x02B8),
                     array(0=>0x02E0, 1=>0x02E4),
                     array(0=>0x1D00, 1=>0x1D25),
                     array(0=>0x1D2C, 1=>0x1D5C),
                     array(0=>0x1D62, 1=>0x1D65),
                     array(0=>0x1D6B, 1=>0x1D77),
                     array(0=>0x1D79, 1=>0x1DBE),
                     array(0=>0x1E00, 1=>0x1EFF),
                     array(0=>0x2071, 1=>0x2071),
                     array(0=>0x207F, 1=>0x207F),
                     array(0=>0x2090, 1=>0x209C),
                     array(0=>0x212A, 1=>0x212B),
                     array(0=>0x2132, 1=>0x2132),
                     array(0=>0x214E, 1=>0x214E),
                     array(0=>0x2160, 1=>0x2188),
                     array(0=>0x2C60, 1=>0x2C7F),
                     array(0=>0xA722, 1=>0xA787),
                     array(0=>0xA78B, 1=>0xA78E),
                     array(0=>0xA790, 1=>0xA793),
                     array(0=>0xA7A0, 1=>0xA7AA),
                     array(0=>0xA7F8, 1=>0xA7FF),
                     array(0=>0xFB00, 1=>0xFB06),
                     array(0=>0xFF21, 1=>0xFF3A),
                     array(0=>0xFF41, 1=>0xFF5A));
    }

    public static function Lepcha_ranges() {
        return array(array(0=>0x1C00, 1=>0x1C37),
                     array(0=>0x1C3B, 1=>0x1C49),
                     array(0=>0x1C4D, 1=>0x1C4F));
    }

    public static function Limbu_ranges() {
        return array(array(0=>0x1900, 1=>0x191C),
                     array(0=>0x1920, 1=>0x192B),
                     array(0=>0x1930, 1=>0x193B),
                     array(0=>0x1940, 1=>0x1940),
                     array(0=>0x1944, 1=>0x194F));
    }

    public static function Linear_B_ranges() {
        return array(array(0=>0x10000, 1=>0x1000B),
                     array(0=>0x1000D, 1=>0x10026),
                     array(0=>0x10028, 1=>0x1003A),
                     array(0=>0x1003C, 1=>0x1003D),
                     array(0=>0x1003F, 1=>0x1004D),
                     array(0=>0x10050, 1=>0x1005D),
                     array(0=>0x10080, 1=>0x100FA));
    }

    public static function Lisu_ranges() {
        return array(array(0=>0xA4D0, 1=>0xA4FF));
    }

    public static function Lycian_ranges() {
        return array(array(0=>0x10280, 1=>0x1029C));
    }

    public static function Lydian_ranges() {
        return array(array(0=>0x10920, 1=>0x10939),
                     array(0=>0x1093F, 1=>0x1093F));
    }

    public static function Malayalam_ranges() {
        return array(array(0=>0x0D02, 1=>0x0D03),
                     array(0=>0x0D05, 1=>0x0D0C),
                     array(0=>0x0D0E, 1=>0x0D10),
                     array(0=>0x0D12, 1=>0x0D3A),
                     array(0=>0x0D3D, 1=>0x0D44),
                     array(0=>0x0D46, 1=>0x0D48),
                     array(0=>0x0D4A, 1=>0x0D4E),
                     array(0=>0x0D57, 1=>0x0D57),
                     array(0=>0x0D60, 1=>0x0D63),
                     array(0=>0x0D66, 1=>0x0D75),
                     array(0=>0x0D79, 1=>0x0D7F));
    }

    public static function Meetei_Mayek_ranges() {
        return array(array(0=>0xAAE0, 1=>0xAAF6),
                     array(0=>0xABC0, 1=>0xABED),
                     array(0=>0xABF0, 1=>0xABF9));
    }

    public static function Mongolian_ranges() {
        return array(array(0=>0x1800, 1=>0x1801),
                     array(0=>0x1804, 1=>0x1804),
                     array(0=>0x1806, 1=>0x180E),
                     array(0=>0x1810, 1=>0x1819),
                     array(0=>0x1820, 1=>0x1877),
                     array(0=>0x1880, 1=>0x18AA));
    }

    public static function Myanmar_ranges() {
        return array(array(0=>0x1000, 1=>0x109F),
                     array(0=>0xAA60, 1=>0xAA7B));
    }

    public static function New_Tai_Lue_ranges() {
        return array(array(0=>0x1980, 1=>0x19AB),
                     array(0=>0x19B0, 1=>0x19C9),
                     array(0=>0x19D0, 1=>0x19DA),
                     array(0=>0x19DE, 1=>0x19DF));
    }

    public static function Nko_ranges() {
        return array(array(0=>0x07C0, 1=>0x07FA));
    }

    public static function Ogham_ranges() {
        return array(array(0=>0x1680, 1=>0x169C));
    }

    public static function Old_Italic_ranges() {
        return array(array(0=>0x10300, 1=>0x1031E),
                     array(0=>0x10320, 1=>0x10323));
    }

    public static function Old_Persian_ranges() {
        return array(array(0=>0x103A0, 1=>0x103C3),
                     array(0=>0x103C8, 1=>0x103D5));
    }

    public static function Old_South_Arabian_ranges() {
        return array(array(0=>0x10A60, 1=>0x10A7F));
    }

    public static function Old_Turkic_ranges() {
        return array(array(0=>0x10C00, 1=>0x10C48));
    }

    public static function Ol_Chiki_ranges() {
        return array(array(0=>0x1C50, 1=>0x1C7F));
    }

    public static function Oriya_ranges() {
        return array(array(0=>0x0B01, 1=>0x0B03),
                     array(0=>0x0B05, 1=>0x0B0C),
                     array(0=>0x0B0F, 1=>0x0B10),
                     array(0=>0x0B13, 1=>0x0B28),
                     array(0=>0x0B2A, 1=>0x0B30),
                     array(0=>0x0B32, 1=>0x0B33),
                     array(0=>0x0B35, 1=>0x0B39),
                     array(0=>0x0B3C, 1=>0x0B44),
                     array(0=>0x0B47, 1=>0x0B48),
                     array(0=>0x0B4B, 1=>0x0B4D),
                     array(0=>0x0B56, 1=>0x0B57),
                     array(0=>0x0B5C, 1=>0x0B5D),
                     array(0=>0x0B5F, 1=>0x0B63),
                     array(0=>0x0B66, 1=>0x0B77));
    }

    public static function Osmanya_ranges() {
        return array(array(0=>0x10480, 1=>0x1049D),
                     array(0=>0x104A0, 1=>0x104A9));
    }

    public static function Phags_Pa_ranges() {
        return array(array(0=>0xA840, 1=>0xA877));
    }

    public static function Phoenician_ranges() {
        return array(array(0=>0x10900, 1=>0x1091B),
                     array(0=>0x1091F, 1=>0x1091F));
    }

    public static function Rejang_ranges() {
        return array(array(0=>0xA930, 1=>0xA953),
                     array(0=>0xA95F, 1=>0xA95F));
    }

    public static function Runic_ranges() {
        return array(array(0=>0x16A0, 1=>0x16EA),
                     array(0=>0x16EE, 1=>0x16F0));
    }

    public static function Samaritan_ranges() {
        return array(array(0=>0x0800, 1=>0x082D),
                     array(0=>0x0830, 1=>0x083E));
    }

    public static function Saurashtra_ranges() {
        return array(array(0=>0xA880, 1=>0xA8C4),
                     array(0=>0xA8CE, 1=>0xA8D9));
    }

    public static function Shavian_ranges() {
        return array(array(0=>0x10450, 1=>0x1047F));
    }

    public static function Sinhala_ranges() {
        return array(array(0=>0x0D82, 1=>0x0D83),
                     array(0=>0x0D85, 1=>0x0D96),
                     array(0=>0x0D9A, 1=>0x0DB1),
                     array(0=>0x0DB3, 1=>0x0DBB),
                     array(0=>0x0DBD, 1=>0x0DBD),
                     array(0=>0x0DC0, 1=>0x0DC6),
                     array(0=>0x0DCA, 1=>0x0DCA),
                     array(0=>0x0DCF, 1=>0x0DD4),
                     array(0=>0x0DD6, 1=>0x0DD6),
                     array(0=>0x0DD8, 1=>0x0DDF),
                     array(0=>0x0DF2, 1=>0x0DF4));
    }

    public static function Sundanese_ranges() {
        return array(array(0=>0x1B80, 1=>0x1BBF),
                     array(0=>0x1CC0, 1=>0x1CC7));
    }

    public static function Syloti_Nagri_ranges() {
        return array(array(0=>0xA800, 1=>0xA82B));
    }

    public static function Syriac_ranges() {
        return array(array(0=>0x0700, 1=>0x070D),
                     array(0=>0x070F, 1=>0x074A),
                     array(0=>0x074D, 1=>0x074F));
    }

    public static function Tagalog_ranges() {
        return array(array(0=>0x1700, 1=>0x170C),
                     array(0=>0x170E, 1=>0x1714));
    }

    public static function Tagbanwa_ranges() {
        return array(array(0=>0x1760, 1=>0x176C),
                     array(0=>0x176E, 1=>0x1770),
                     array(0=>0x1772, 1=>0x1773));
    }

    public static function Tai_Le_ranges() {
        return array(array(0=>0x1950, 1=>0x196D),
                     array(0=>0x1970, 1=>0x1974));
    }

    public static function Tai_Tham_ranges() {
        return array(array(0=>0x1A20, 1=>0x1A5E),
                     array(0=>0x1A60, 1=>0x1A7C),
                     array(0=>0x1A7F, 1=>0x1A89),
                     array(0=>0x1A90, 1=>0x1A99),
                     array(0=>0x1AA0, 1=>0x1AAD));
    }

    public static function Tai_Viet_ranges() {
        return array(array(0=>0xAA80, 1=>0xAAC2),
                     array(0=>0xAADB, 1=>0xAADF));
    }

    public static function Tamil_ranges() {
        return array(array(0=>0x0B82, 1=>0x0B83),
                     array(0=>0x0B85, 1=>0x0B8A),
                     array(0=>0x0B8E, 1=>0x0B90),
                     array(0=>0x0B92, 1=>0x0B95),
                     array(0=>0x0B99, 1=>0x0B9A),
                     array(0=>0x0B9C, 1=>0x0B9C),
                     array(0=>0x0B9E, 1=>0x0B9F),
                     array(0=>0x0BA3, 1=>0x0BA4),
                     array(0=>0x0BA8, 1=>0x0BAA),
                     array(0=>0x0BAE, 1=>0x0BB9),
                     array(0=>0x0BBE, 1=>0x0BC2),
                     array(0=>0x0BC6, 1=>0x0BC8),
                     array(0=>0x0BCA, 1=>0x0BCD),
                     array(0=>0x0BD0, 1=>0x0BD0),
                     array(0=>0x0BD7, 1=>0x0BD7),
                     array(0=>0x0BE6, 1=>0x0BFA));
    }

    public static function Telugu_ranges() {
        return array(array(0=>0x0C01, 1=>0x0C03),
                     array(0=>0x0C05, 1=>0x0C0C),
                     array(0=>0x0C0E, 1=>0x0C10),
                     array(0=>0x0C12, 1=>0x0C28),
                     array(0=>0x0C2A, 1=>0x0C33),
                     array(0=>0x0C35, 1=>0x0C39),
                     array(0=>0x0C3D, 1=>0x0C44),
                     array(0=>0x0C46, 1=>0x0C48),
                     array(0=>0x0C4A, 1=>0x0C4D),
                     array(0=>0x0C55, 1=>0x0C56),
                     array(0=>0x0C58, 1=>0x0C59),
                     array(0=>0x0C60, 1=>0x0C63),
                     array(0=>0x0C66, 1=>0x0C6F),
                     array(0=>0x0C78, 1=>0x0C7F));
    }

    public static function Thaana_ranges() {
        return array(array(0=>0x0780, 1=>0x07B1));
    }

    public static function Thai_ranges() {
        return array(array(0=>0x0E01, 1=>0x0E3A),
                     array(0=>0x0E40, 1=>0x0E5B));
    }

    public static function Tibetan_ranges() {
        return array(array(0=>0x0F00, 1=>0x0F47),
                     array(0=>0x0F49, 1=>0x0F6C),
                     array(0=>0x0F71, 1=>0x0F97),
                     array(0=>0x0F99, 1=>0x0FBC),
                     array(0=>0x0FBE, 1=>0x0FCC),
                     array(0=>0x0FCE, 1=>0x0FD4),
                     array(0=>0x0FD9, 1=>0x0FDA));
    }

    public static function Tifinagh_ranges() {
        return array(array(0=>0x2D30, 1=>0x2D67),
                     array(0=>0x2D6F, 1=>0x2D70),
                     array(0=>0x2D7F, 1=>0x2D7F));
    }

    public static function Ugaritic_ranges() {
        return array(array(0=>0x10380, 1=>0x1039D),
                     array(0=>0x1039F, 1=>0x1039F));
    }

    public static function Vai_ranges() {
        return array(array(0=>0xA500, 1=>0xA62B));
    }

    public static function Yi_ranges() {
        return array(array(0=>0xA000, 1=>0xA48C),
                     array(0=>0xA490, 1=>0xA4C6));
    }

    protected static function compare_trivial_ranges($a, $b) {
        if ($a[0] < $b[0]) {
            return -1;
        } else if ($a[0] > $b[0]) {
            return 1;
        } else {
            return 0;
        }
    }

    /**
     * Searches the index of the range in an array of ranges containing the given number.
     * @param code the number to search for.
     * @return the index of the range containing this code, false if not found.
     */
    public static function search_number_binary($code, $ranges) {
        $start = 0;
        $end = count($ranges) - 1;
        while ($end >= $start) {
            $middle = $start + (int)(($end - $start) / 2);
            if ($ranges[$middle][1] < $code) {
                $start = $middle + 1;
            } else if ($ranges[$middle][0] > $code) {
                $end = $middle - 1;
            } else if ($ranges[$middle][0] <= $code && $ranges[$middle][1] >= $code) {
                return $middle;
            }
        }
        return false;
    }

    /**
     * Makes a set of ranges negative.
     * @param ranges array of ranges to negate.
     * @return array of ranges which are negation of the given.
     */
    public static function negate_ranges($ranges) {
        $size = count($ranges);
        $maxcode = self::max_possible_code();
        if ($size === 0) {
            return self::dot_ranges();
        }
        $result = array();
        if ($ranges[0][0] > 0) {
            $result[] = array(0, $ranges[0][0] - 1);
        }
        for ($i = 0; $i < $size - 1; $i++) {
            $result[] = array($ranges[$i][1] + 1, $ranges[$i + 1][0] - 1);
        }
        if ($ranges[$size - 1][1] < $maxcode) {
            $result[] = array($ranges[$size - 1][1] + 1, $maxcode);
        }
        return $result;
    }

    /**
     * @param $charset object of qtype_poasquestion_string.
     * @return a sorted array of trivial ranges corresponding to the given charset.
     */
    public static function get_ranges_from_charset($charset) {
        $ords = array();
        for ($i = 0; $i < $charset->length(); $i++) {
            $ords[] = self::utf8ord($charset[$i]);
        }
        sort($ords, SORT_NUMERIC);
        $prevord = $ords[0];
        $result = array(array($prevord, $prevord));
        $index = 0;
        for ($i = 1; $i < count($ords); $i++) {
            $neword = $ords[$i];
            if ($neword == $prevord) {
                // Do nothing.
            } else if ($neword == $prevord + 1) {
                $result[$index][1]++;
            } else {
                $result[] = array($neword, $neword);
                $index++;
            }
            $prevord = $neword;
        }
        return $result;
    }

    /**
     * A trivial range is an array(0=>int, 1=>int).
     * A range is an array of trivial ranges - they united by OR.
     * This function intersects two ranges.
     * @param tointersect an array of ranges united by "AND".
     * @return an array of ranges where ranges represented as array (0=>int, 1=>int).
     */
    public static function intersect_ranges($ranges1, $ranges2) {
        $result = array();
        foreach ($ranges1 as $ranges1part) {
            foreach ($ranges2 as $ranges2part) {
                if ($ranges1part[0] < $ranges2part[0]) {
                    $left = $ranges1part;
                    $right = $ranges2part;
                } else {
                    $left = $ranges2part;
                    $right = $ranges1part;
                }
                if ($right[0] <= $left[1] && $left[1] >= $right[0]) {
                    $result[] = array(0 => $right[0], 1 => min($left[1], $right[1]));
                }
            }
        }
        usort($result, array('self', 'compare_trivial_ranges'));
        for ($i = 1; $i < count($result); $i++) {
            if ($result[$i][0] === $result[$i - 1][1]) {
                $result[$i][0] = $result[$i - 1][0];
                unset($result[$i - 1]);
            }
        }
        $result = array_values($result);
        return $result;
    }

    public static function is_in_range($utf8chr, $ranges) {
        if ($utf8chr === null || $utf8chr === '') {
            return false;
        }
        $ord = self::utf8ord($utf8chr);
        return (self::search_number_binary($ord, $ranges) !== false);
    }

    public static function next_part(&$range1, &$range2) {
        // Handle the special cases: one or both ranges are null.
        if ($range1 === null && $range2 === null) {
            return null;
        } else if ($range2 === null) {
            return $range1;
        } else if ($range1 === null) {
            return $range2;
        }

        $start1 = $range1[0];
        $end1 = $range1[1];
        $start2 = $range2[0];
        $end2 = $range2[1];
        if ($start1 < $start2) {
            // Return the part before the second range start.
            $start = $start1;
            if ($end1 >= $start2) {
                $end = $start2 - 1;
            } else {
                $end = $end1;
            }
        } else if ($start1 === $start2) {
            // Return the minimal common part.
            $start = $start1;
            $end = min($end1, $end2);
        } else {
            // Symmetric operation.
            return self::next_part($range2, $range1);
        }
        return array($start, $end);
    }

    public static function reduce_range(&$range, &$part) {
        $rangestart = $range[0];
        $rangeend = $range[1];
        $partend = $part[1];
        if ($partend >= $rangestart) {
            if ($partend < $rangeend) {
                $range[0] = $partend + 1;
            } else {
                $range = null;
            }
        }
    }

    public static function kinda_operator(&$ranges1, &$ranges2, $xy, $xny, $nxy, $nxny) {
        if ($ranges1 == null || $ranges2 == null) {
            return array();
        }

        $index1 = 0;
        $index2 = 0;
        $ranges1negpart = false;    // are we between (x1, x2) and (x3, x4) groups?
        $ranges2negpart = false;
        $done = false;

        $range1 = $ranges1[0];
        $range2 = $ranges2[0];

        $range1mod = $range1;
        $range2mod = $range2;

        $done = false;

        if ($nxny && $range1[0] > 0 && $range2[0] > 0) {
            $result = array(array(0, min($range1[0], $range2[0]) - 1));
        } else {
            $result = array();
        }

        while (!$done) {
            $part = self::next_part($range1mod, $range2mod);
            //self::print_range('current part: ', $part);

            $x = ($part[0] >= $range1[0] && $part[1] <= $range1[1] && !$ranges1negpart);
            $y = ($part[0] >= $range2[0] && $part[1] <= $range2[1] && !$ranges2negpart);

            $add = ($xy   &&  $x &&  $y)  ||
                   ($xny  &&  $x && !$y)  ||
                   ($nxy  && !$x &&  $y)  ||
                   ($nxny && !$x && !$y);

            if ($add) {
                $count = count($result);
                if ($count > 0 && $result[$count - 1][1] === $part[0] - 1) {
                    $result[$count - 1][1] = $part[1];
                } else {
                    $result[] = $part;
                }
            }

            // Shift both ranges.
            self::reduce_range($range1mod, $part);
            self::reduce_range($range2mod, $part);

            if ($range1mod === null) {
                if (!$ranges1negpart) {
                    if ($range1[1] < self::max_possible_code()) {
                        $tmp = ($index1 === count($ranges1) - 1) ? self::max_possible_code() : $ranges1[$index1 + 1][0] - 1;
                        $range1 = array($ranges1[$index1][1] + 1, $tmp);
                        $ranges1negpart = true;
                    } else {
                        $range1 = null;
                    }
                } else {
                    $range1 = ($index1 < count($ranges1) - 1) ? $ranges1[++$index1] : null;
                    $ranges1negpart = false;
                }
                $range1mod = $range1;
            }

            if ($range2mod === null) {
                if (!$ranges2negpart) {
                    if ($range2[1] < self::max_possible_code()) {
                        $tmp = ($index2 === count($ranges2) - 1) ? self::max_possible_code() : $ranges2[$index2 + 1][0] - 1;
                        $range2 = array($ranges2[$index2][1] + 1, $tmp);
                        $ranges2negpart = true;
                    } else {
                        $range2 = null;
                    }
                } else {
                    $range2 = ($index2 < count($ranges2) - 1) ? $ranges2[++$index2] : null;
                    $ranges2negpart = false;
                }
                $range2mod = $range2;
            }

            $done = ($range1 === null && $range2 === null);
        }
        return $result;
    }

    private static function print_range($text, $range) {
        echo $text . '(' . $range[0] . ', ' . $range[1] . ');' . "\n";
    }
}
